写点什么

极客时间架构师训练营 - 第十二周 - 总结

用户头像
sljoai
关注
发布于: 2020 年 09 月 02 日
极客时间架构师训练营-第十二周-总结

MapReduce流程图

  1. 



  1. 只有排序之后才能找到相同的key值;

  2. 关联计算;

  3. 



  1. 

  1. 

  2. split是MapReduce的概念,一般与hdfs中的block是相同的;

  3. 



  1. 

  1. 

  2. 网络拷贝:shuffle,将相同的key放到一起,以建立关联;

  3. map+reduce -> map reduce job;

  4. DAG:有向无环图;

MapReduce整体架构

  1. MapReduce 1.0



  1. TaskTracker 与 DataNode在一台上;

  2. 缺省情况下会拷贝五份jar包;如何进行设置jar包的副本数呢?

  3. 为啥需要多份呢?!与hdfs上的block有多份的副本具有相同的作用?

  4. JobInprocess

  5. 一种树结构;

  6. MapReduce整体架构需要再好好理解一下?

  7. MapReduce 2.0

MapReduce使用场景

  1.  

InputFormat

  1. Map进程数 & Map任务数

  2. getSplits

  3. createRecordReader

FileInputFormat

  1. mapred.min.split.size:分片最小值

  2. mapred.max.split.size:分片最大值

  3. 分片信息:<file,start,length,bosts>,通过hosts实现map的本地性;

  4. blockSize介于分片大小之间

Partitioner

  1. 对key进行分区,进而吧数据按需求进行分发

调度方法

  1. FIFO

  2. Fair Scheduler

  3. 一般自定义调度方法;

JobTracker内部实现

作业控制

作业抽象成三层:

作业监控层



TA: Task Attempt

JobTracker容错

TaskTracker容错

  1. 灰名单

  2. 黑名单

Task容错

  1. 允许部分Task失败, mapred.max.map.failers.percent,默认为0

  2. 慢任务启动备份任务,失败任务尝试次数

  3. mapred.map.max.attempts

  4. mapred.reduce.max.attempts

Record容错

  1.  

Hive

架构

SQL解析

  1. multi-group-by

Hive Operator

  1. 编程框架

Metastore

Single User Mode



Multi User Mode

  1. 需要将Client和Server分离

将数据同时写入两张表中;

Hive QL - Join

  1. map输入

  2. map输出(reduce输入)

  3. reduce输出

Join Optimizations

  1. Map Joins:将小表在所有的map计算阶段进行加载;



发布于: 2020 年 09 月 02 日阅读数: 47
用户头像

sljoai

关注

还未添加个人签名 2017.11.09 加入

还未添加个人简介

评论 (1 条评论)

发布
用户头像
作业请添加“极客大学架构师训练营”标签,便于分类
2020 年 09 月 03 日 10:19
回复
没有更多了
极客时间架构师训练营-第十二周-总结