
理论原理
reasery
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
hdfs三大机制的流程
namenode的作用:1.接收客户端的读写请求2.保存元数据信息3.分配副本的存放节点4.负载均衡secondarynamenode:1.备份元数据2.帮助namenode进行checkpoint,分担压力datanode:1.真正的数据存储2.处理客户端的读写请求hdfs三大机制上传下载元数据合并一。上传客户端向namenode发送文件上传的请求nam...原创 2018-09-24 12:18:30 · 777 阅读 · 0 评论 -
HIVE的表的数据导入
hive的架构1.用户接口2.thift server3.元数据库4.驱动层hive的特点:数据仓库,hql计算引擎MR,支持换成spark和tezhive调试开启本地模式set hive.exec.mode.local.auto=true数据导入1.导入方式 load data [local] inpath '' into table tablename 从本地导...原创 2018-10-23 16:43:49 · 643 阅读 · 0 评论 -
hive的一些知识点
1.group byselect department dept,sum(age) age from student01 group by dept;//错,dept的别名不能用在这里//因为group by的执行顺序在select之前,所以select之后的别名不能用,只能用原始字段//order by 在select 之后//如果hql中有groupby,那么select后只能跟两个...原创 2018-10-29 09:59:14 · 176 阅读 · 0 评论 -
hive的数据类型和视图
一。基本数据类型int(tinyint,smallint,int,bigint)float doublebooleanstringtimestemp二。复杂数据类型array create table test_arr(id int,name string,hobby array<string>) row format delimited fields termina...原创 2018-10-29 11:12:46 · 932 阅读 · 0 评论 -
ZooKeeper的相关知识
一。介绍1.整个生态圈的服务协调,负责分布式一致性分布式:一个任务需要不同节点执行, 不同节点在不同的网络多节点就是集群其他的分布式:分布式文件存储系统:hdfs分布式计算系统:MapReduce一致性:读和写的数据是一致的分为:强一致性:读写瞬间完成,实时性强,最难达到弱一致性:最大限度保证一致性最终一致性:弱一致性的一个特例,在一定的时间范围内达到一致性CAP理论:...原创 2018-10-29 11:43:41 · 166 阅读 · 0 评论 -
RDD算子
transform算子 //定义一个内置数组 val arr = Array(1,2,3,4,5) //将数组转化为rdd val rdd1 = sparkContext.parallelize(arr) 1.map rdd1.map(x=&amp;gt;x*2) rdd1.map(x=&amp;gt;(x,x)) 2.filter //保留奇数 rdd1.filter(x=&amp;gt;i...原创 2018-10-26 12:02:32 · 279 阅读 · 0 评论 -
hive的函数
hive的函数按照类型udf 一对一udaf 多对一udtf 一对多 explode炸裂按照来源内置函数显示内置函数:show functions查看函数详细信息:desc function 函数名查看函数详细的描述信息:desc function extended 函数名 常用的内置函数: 集合函数(收集函数): map,array select array_co...原创 2018-11-19 11:11:27 · 351 阅读 · 0 评论 -
hbase的一些知识点
hbase的一些知识点行键–rowkey:用于标志同一行数据,行键相同就是同一条数据hbase默认对行键进行排序,字典顺序,升序根据行键建立索引,数据按照行键进行排序,hbase中的行键不要过长,一般是8的倍数,给16个长度列簇:一个或者多个列我们成为一个列簇一个列簇对应一个物理存储文件列簇设计:将具有相同io属性的列放在一个列簇中相同io属性:总是在一起进行读写的列,因人因业...原创 2019-01-22 16:47:37 · 369 阅读 · 0 评论 -
hbase的shell和javaapi
hbase的shell和javaapihbase shell 进入客户端versionstatuswhoami先启动start-hbase.sh再进入客户端 hbase shellnamespace类似于数据库的操作create_namespace ‘xxx’drop_namespace ‘xxx’describe_namespace ‘xxx’list_namespac...原创 2019-01-22 16:48:22 · 317 阅读 · 0 评论 -
mapreduce的分组
分组:如果是按照hadoop自带类型进行分组时,按照key相同进行分组如果按照自定义类型key时,按照compareTo中的判断规则进行分组需求:求每个班成绩最好的学生信息分组:班级排序:成绩key包含班级+成绩,也可以+名字,自定义类型,这样map输出的value可以是null只需要按照成绩排序就可以了分组求topN reduce端只需要取出第一个就可以了创建自定义类Stud...原创 2018-10-23 13:52:00 · 837 阅读 · 0 评论 -
spark的认识和ddr的算子
1.mapreduce因为磁盘io的限制,是系统的瓶颈,所以只适合离线数据处理或批处理,不支持迭代式,交互式和流数据处理,这些事spark擅长的内容2.spark的优点:1.减少磁盘io,直接从内容读取数据2.增加并行度,一个线程执行一个任务3.避免重复计算,可以cache或者prisit持久化到缓存中4.可选的shuffle和排序5.灵活的内存管理策略,每个任务自己的内容是堆内内存,...原创 2018-10-21 13:49:42 · 494 阅读 · 0 评论 -
mapreduce的shuffle过程
shuffle:分区,排序,分组,Combinermap端shufflereduce端shuffle文件分成几个块,就有几个切片,就启动几个maptask例子一个300m的文件,被分成3个块bk1:0-127mbk2:128-255mbk3:256-300m存2个副本,有三个datanode节点,一个块对应一个切片启动一个maptaskmaptask的输出结果进入到环形缓冲...原创 2018-09-26 15:26:51 · 289 阅读 · 0 评论 -
maptask和reduceta的并行度
maptask的并行度同一时间内,maptask任务同时运行的数量。一个maptask任务对应一个逻辑切片,split注意与文件切块的区别:文件切块block是hdfs存储的单位,物理上的切分,不同的块可能存在不同的节点上文件切片是一个逻辑概念,是maptask任务执行对应的数据单元,并没有物理切分切片的大小和切块的大小一样,并没有别的关系修改方式大于128m,修改最小值,minS...原创 2018-09-27 10:13:33 · 276 阅读 · 0 评论 -
HIVE的ddl操作
hive的ddl操作库:修改数据库不支持创建数据库:create database mading;切换数据库:use mading;查看数据库列表:show databases; //模糊查询:show databases like 'test*';查看正在使用的数据库:show current_database();查看数据库的详细信息:desc database mading;...原创 2018-10-05 12:17:45 · 409 阅读 · 0 评论 -
scala的一些知识点(一)
函数: val sum = (x:Int,y:Int) =&gt; {x+y}方法: def sum(x:Int,y:Int) = {x+y} //定义方法 def m1(x:Int,f:Int=&gt;Int) = f(x) def m2(f:(Int,Int) =&gt; Int) = f(2,3) def m3(f:(Int,Int)=&gt;Int,x:Int,y:Int) ...原创 2018-10-13 11:33:29 · 255 阅读 · 0 评论 -
scala的知识点(二)
可以修改数组中的值val arr1 = Array(1,2,3)arr1(1) = 5----//转换为可变数组可以执行各种操作val arr1_v = arr1.toBuffer//添加一个数组元素arr1_v +=1//如果添加的是另外一个数组arr1_v ++= arr2//+=追加一个或者多个元素,++=追加一个seq对象---//在4的位置追加剩下的元素arr1...原创 2018-10-14 13:55:08 · 200 阅读 · 0 评论 -
scala的知识点整理(三)
//scala经常使用的三个包//scala.collection 最顶级父类//scala.collection.mutable可变//scala.collection.immutable 不可变//默认导入都是不可变的val list1 = List(1,2,3)-----------//List是由一个头元素和尾列表组成的//向列表添加元素val list1 = 4::3:...原创 2018-10-14 16:10:14 · 262 阅读 · 0 评论 -
reduce 端的join
a表:id name ageb表:id course sexa和b的joinselect * form a join b on a.id = b.idreduce 端的join就是join过程在reduce端做伪代码public class ReduceJoin{ static class MyMapper extends Mapper&amp;lt;&amp;gt;&amp;lt;&amp;gt;原创 2018-10-23 09:55:37 · 540 阅读 · 0 评论 -
map端做join
优势:1.mapjoin的并行度高2.可以有效的避免数据倾斜流程:至少一个表读取一行数据,另一个表读取所有数据使用setup先把表数据读取出来,读取到map集合中,key:关联字段 value:剩下字段伪代码public class MapJoin{ static class MyMapper extends Mapper{ @override setup //获取本地...原创 2018-10-23 11:34:27 · 1229 阅读 · 0 评论 -
hive的数据倾斜
hive的数据倾斜主要是reduce端产生的reducetask–0.95*datanode个数group 如果和聚合函数一起使用,默认在map端开始combiner,不会产生数据倾斜产生数据倾斜的根本原因就是key分配不均匀常见场景:一.null值过多解决:1.null值不参与连接select a.,b. from log a join user b on a.userid=b...原创 2019-01-22 16:48:54 · 326 阅读 · 0 评论