week12- 根据当周学习情况,完成一篇学习总结
一、大数据技术发展史
存储(文件系统)、排序[排名]、数据库
2、数据分析-计算;排序;批处理计算;
3、[在线产生数据、在线计算]实时计算;storm、Flink、Spark Streaming
4、大数据存储[hdfs];大数据批处理计算[MapReduce、Spark]、大数据流处理计算[Storm、Flink、Spark Streaming]、NoSQL 系统[HBase、Cassandra];大数据分析与大数据仓库[Hive、Spark SQL
]、大数据挖掘与机器学习[Mahout、MLib、TensorFlow];大数据平台与系统集成;
5、大数据发展史:大数据应用的搜索引擎时代、大数据应用的数据仓库时代、大数据应用的机器学习时代;
6、大数据应用领域:医学影像智能识别-图像识别;病例大数据智能诊断;【根据关键字匹配;选取方案;方案效果;选择效果更好】AI 外语老师;智能解题;舆论监控与分析;大数据风控;新零售;无人驾驶;
二、分布式文件系统 HDFS
1、常用 RAID 技术;高速读写;
2、HDFS 系统架构;关键角色 NameNode-职责:资源管理;数据块的编号;DataNode 监控; DataNode-职责:数据块管理;
3、数据存储细节 Block Replication;Datanodes;
4、HDFS 设计目标:HDFS 以流式数据访问模式存储超大文件,运行于商用硬件集群上;
超大文件;流失数据访问,一次写入多次读取;商用硬件;
不是随机访问系统,不对文件修改
4.2、假设:节点失效是常态;理想:任何:4.2.1、任何一个节点失效,不影响 HDFS 服务;4.2.2、HDFS 可以自动完成副本的复制;
文件切分成块;分而治之;
5、HDFS 不适合的场景
低延迟的数据访问、大量小文件-超过 NameNode 的处理能力;多用户随机写入修改文件;
6、HDFS 如何写文件;
7、节点失效是常态-运行期-主主复制;主备复制
DataNode 中的磁盘挂了怎么办?DataNode 正常服务;坏掉的磁盘
DataNode 所在机器挂了怎么办?心跳;检查数据块;复制;
NameNode 挂了怎么办?备份;持久化数据;操作日志;Fsimage
Client 挂了怎么办?
8、HDFS 一致性模型
文件创建以后,不能保证在 NameNode 立即可见,即使文件刷新并存储,写完一个数据块,并 sync();
9、JAVA 接口
数据-->存储-->计算;
三、大数据计算框架 MapReduce-编程模型
1、MapReduce:大规模数据处理;处理海量数据(>1TB);上百上千 CPU 实现并行处理;
简单地实现以上目的:移动计算比移动数据更划算;分而治之;
2、WordCount 举例:MapReduce 两个阶段
Mapper 参数:key[文件中的偏移量] value[文件中的一行文本] context
输出的是 key value 对
Reduce 参数:Text key[mapper 输出的 key] values[mapper 输出的 key 所有的 value 集合] context
输出的是 key value 对
如何设计 key value 的;
3、处理过程图
reduce 的 key 如何设计,数据 shuffle 到一起;
四、大数据技术框架 MapReduce-架构
1、适合 MapReduce 的计算类型:TopK;K-means;Bayes;SQL
2、不适合 MapReduce 的计算类型,不适合分片;Fibonacci;单个数据前后关联;
3、FileInputFormat、OutputFormat、Partitioner;
4、主要调度方法
单队列调度
容量调度-作业选择
5、JobTracer 内部实现:
作业控制
作业抽象成三层:作业监控层(JIP)、任务控制层(TIP)、任务执行层;
任务可能会被尝试多次执行,每个人物实例被称作 Task Attempt(TA)
TA 成功,TIP 会标注该任务成功,所有 TIP 成功,JIP 成功
资源管理
根据 TaskTracker 状态信息进行任务分配;
6、JobTracker 容错:那么出错
7、TaskTracer 容错;超时、灰名单、黑名单;
8、Task 容错:允许部分 Task 失败;Task 由 TIP 监控,失败任务多次尝试,慢任务启动备份任务;
9、Record 容错:跳过导致 Task 失败的坏记录,K,V 超大,导致 OOM,配置最大长度,超出截断 mapred.linercordreader.maxlength;
异常数据引发程序 bug,task 重试几次后,自动进入 skip mode,跳过导致失败的记录;
五、大数据集群资源管理系统 Yarn
1、计算资源[有限]和计算任务[很多],需要作业调度;
2、JobTracer 根据资源,排布任务调度 TaskTracer[管理自己的资源,执行 task]
3、计算过程 加载任务 构建 JIP TIP;
4、实现资源管理框架和计算框架分离;
5、YARN 下一代
6、Yarn 架构
六、大数据仓库 Hive--数据分析-传统是 SQL 方式
1、Hive 如何将 SQL 转换成 maprereduce
2、Hive 架构;角色、职责;
3、Hive 编译器;解析器;
4、reduce 对数据进行关联;
评论