框架总结:
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:管理工具,主要与其他的各种框架进行整合