栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

笔记-离线阶段框架总结

笔记-离线阶段框架总结

1  zookeeper

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

1.1  节点类型

永久节点:

       普通永久节点

       序列化永久节点

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

      普通临时节点

       序列化临时节点

1.2  watch机制

        类似于监听器

2  hadoop

2.1  hdfs:分布式文件存储系统

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

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

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

datanode:数据存储,以block块为单位来进行存储,默认block128Msecondarynamenode:主要进行合并fsimage以及edist文件

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

第一步:客户端请求namenode上传文件

第二步:namenode校验客户端是否能够上传

第三步:客户端请求namenode第一个block块上传位置

第四步:namenode通过机架感知原理,找到离客户端最近的一个block块的位置,告诉给客户端

第五步:与datanode建立长连接pipeline管道,客户端以packet(64kb)的方式发送数据到datanode上面去

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

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

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

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

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

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

        写入过程遵循就近原则:

                心跳比较活跃

                磁盘比较空闲

       

2.3 MapReduce:

2.3.1  八个步骤:       

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

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

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

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

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

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

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

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

2.4  yarn:资源调度管理平台

2.4.1资源调度方式:

 FIFO:先进先出 fair scheduler:公平调度Apache版本使用capacity  scheduler:容量调度器,cdh使用的调度方式自定义capacity scheduler:配置实现,不同用户提交不同的任务

3  hive

3.1  数据仓库基本概念

        数据仓库主要就是面向数据分析,将hive的元数据信息保存在MySQL里面

3.2  独立表模型:

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

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

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

分桶表:一般与外部表或者内部表搭配使用,分文件,关键字:cluster by  into  xxx buckets

3.3  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;

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

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

        行式存储:textFile,sequenceFile

        列式存储:orc,parquet

        在ods层:使用textFile

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

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

3.5  hive调优:尽量多掌握几个

map端join合并小文件控制map个数以及reduce个数表的优化本地模式推测执行

4  flume-数据采集工具

4.1离线分析

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

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

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

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

        hdfs.rollInterval

        hdfs.rollSize

        hdfs.rollSize

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

        hdfs.round 

        hdfs.roundValue

        hdfs.roundUnit

4.2  实时处理

        将数据发送到kafka里面去

5  sqoop-数据导入导出工具

        重点:

增量数据怎么解决,利用update_time减量数据怎么解决:做拉链表更新数据怎么解决:做拉链表

6  azkaban-任务调度工具

7  oozie-完全替代azkaban

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

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

10 kafka:消息队列

        作用:解耦,异步,并行,一般用于数据的统一的管理平台

11  软件框架之间的依赖关系

zookeeper依赖jdkhadoop:ha模式:依赖zkhive:依赖hadoop和MySQLflume没有依赖sqoop没有依赖azkaban没有依赖impala依赖hive,必须启动hive,metastore服务oozie依赖于hadoophue没有依赖,可以独立运行redis依赖C程序,yum -y install gcc-c++Hbase依赖于zookeeper和hadoopelk没有依赖kafka依赖zookeeper

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/774151.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号