自由式学习
21人加入学习
(0人评价)
大数据___Kafka
价格 免费
承诺服务

框架总结:

1.zookeeper大数据领域里面一个分布式服务协调框架,主要是帮助其他的框架正常运行

永久节点:

       普通永久节点

       序列化永久节点

临时节点:客户端一旦断开连接,节点消失

      普通临时节点

       序列化临时节点

watch机制:类似于监听器

 

2.hadoop

hdfs:分布式文件存储系统

   namenode:主节点,主要用于管理元数据信息

           fsimgae:一份比较完整的元数据信息

           edits:最近一段时间客户端的操作日志,操作次数达到100w次,还有时间限制1小时

           secondarynamenode:主要进行合并fsimage以及edist文件

      datanode:数据存储,以block块为单位来进行存储,默认block128M

读取数据的过程:必须掌握

写入数据的过程:必须掌握

第一步:客户端请求namenode上传数据

第二步:namenode校验客户端是否有权限,文件是否存在,校验通过,直接告诉客户端允许上传

第三步:客户端请求namenode第一个文件block块地址

第四步:namenode寻找对应的block块地址返回给客户端

就近原则

心跳比较活跃

磁盘比较空闲

第五步:客户端直接与对应的datanode进行通信,将数据写入到datanode对应的block块里面去,数据以packet为单位进行传输,packet默认是64kb,datanode反向的进行数据校验

       

MapReduce:

        三个key,value对

        八个步骤:

        第一步:读取文件,解析成key,value对

        第二步:自定义map逻辑,接收k1,v1转换成为k2,v2

         第三步:分区,相同key的数据发送到同一个reduce里面去,key合并,value形成一个集合

          第四步:排序,对数据key2进行排序

          第五步:规约,combiner,调优步骤,可选项,比如求平均值不能使用

          第六步:分组,key2合并,value形成一个集合

           第七步:自定义reduce逻辑,接收k2,v2转换成新的k3,v3输出

            第八步:输出k3,v3进行保存

         

yarn:资源调度管理平台

资源调度方式:

        FIFO:先进先出

        fair scheduler:公平调度Apache版本使用

         capacity  scheduler:容量调度器,cdh使用的调度方式

自定义capacity scheduler:配置实现,不同用户提交不同的任务

 

hive:

数据仓库基本概念:数据仓库主要就是面向数据分析

将hive的元数据信息保存在MySQL里面

独立表模型:

外部表:external,外部表删除表的时候,不会删除hdfs的数据

内部表:删除表的时候,会删除hdfs的数据

分区表:一般与外部表或者内部表搭配使用,分文件夹

partition by

分桶表:一般与外部表或者内部表搭配使用,分文件

cluster by  into  xxx buckets

 

hive基本语法

group by

自定义函数

爆炸函数explode

例如lateral view 主要与

分析函数(开窗函数)分组求topN

row_number  over

rank  over

dens_rank over(partition by  xxx order by xxx)

select * ,row_number() over(partition by s_id  order by score) from user;

 

数据存储格式、压缩、调优

数据存储格式:行式存储以及列式存储

行式存储:textFile,sequenceFile

列式存储:orc,parquet

在ods层:使用textFile

在dw层:使用orc存储格式,配合snappy压缩,数据压缩比6:1

原始文件100GB,使用orc格式配合sanppy之后数据大概剩下100/6

 

hive调优:尽量多掌握几个

map端join

合并小文件

控制map个数以及reduce个数

表的优化

本地模式

推测执行

 

flume:数据采集工具

离线分析:将数据保存到hdfs里面去,hdfsSink:文件滚动的时长,文件event数据量,文件大小

文件夹滚动策略:多长时间在hdfs上面滚动生成一次文件夹

flume怎么配置将数据发送到hdfs上面去(一般接近128M)

多长时间发送一次数据到hdfs上面去

hdfs.rollInterval

hdfs.rollSize

hdfs.rollSize

多长时间在hdfs上面生成一个文件夹

hdfs.round 

hdfs.roundValue

hdfs.roundUnit

实时处理:将数据发送到kafka里面去

sqoop:数据导入导出工具

增量数据怎么解决

减量数据怎么解决:做拉链表

更新数据怎么解决:做拉链表

启动了多少个maptask -m

每天数据库数据量大概有多大

azkaban:任务调度工具

oozie:完全替代azkaban

impala:完全替代hive,比较消耗内存,官方建议内存128GB起步

hue:管理工具,主要与其他的各种框架进行整合

 

 

[展开全文]

授课教师

高级算法工程师
老师

课程特色

考试(5)
图文(1)
视频(24)