Lecture11 MapReduce计算模型 11.1分布式并行计算系统 1l.2 MapReduce计算架构 11.3实际案例展示 Big Data Computing Technology,2017 Fall
Lecture 11 MapReduce计算模型 Big Data Computing Technology, 2017 Fall 1 11.1 分布式并行计算系统 11.2 MapReduce计算架构 11.3 实际案例展示
11.1分布式并行计算系统 ·按照指令流和数据流划分: ·单指令流单数据流 ·单指令流多数据流 多指龄流单数据流 多指铃流多数据流 NISD) ·多指令流单数据流 指 (HID) ·多指令流多数据流 令流 单指令流单数据流 单指令流多数据流 (SISD) (SIID) 数据流 Big Data Computing Technology,2017 Fall
11.1 分布式并行计算系统 Big Data Computing Technology, 2017 Fall 2 • 按照指令流和数据流划分: • 单指令流单数据流 • 单指令流多数据流 • 多指令流单数据流 • 多指令流多数据流
11.1分布式并行计算系统 多指令流多数据流(MIMD) ·按照处理器是否共享内存划分: ·多处理器共享内存机器 ·UMA架构和NUMA架构 ·多计算机独立内存体系 ·MPP和集群两种计算架构。 ·归属于MMD体系的计算机: ·并行向量处理机、对称多处理机、大规模并行处理机、 工作站机群、分布式共享存储处理机 Big Data Computing Technology,2017 Fall
11.1 分布式并行计算系统 Big Data Computing Technology, 2017 Fall 3 多指令流多数据流(MIMD) • 按照处理器是否共享内存划分: • 多处理器共享内存机器 • UMA架构和NUMA架构 • 多计算机独立内存体系 • MPP和集群两种计算架构。 • 归属于MIMD体系的计算机: • 并行向量处理机、对称多处理机、大规模并行处理机、 工作站机群、分布式共享存储处理机
11.2 MapReduce计算架构 11.2.1软件模块/计算单元 11.2.2键值对与输入格式 11.2.3Map/Shaffle/Reduce任务与实现 Big Data Computing Technology,2017 Fall
11.2 MapReduce计算架构 Big Data Computing Technology, 2017 Fall 4 11.2.1 软件模块/计算单元 11.2.2 键值对与输入格式 11.2.3 Map/Shaffle/Reduce 任务与实现
11.2.1软件模块/计算单元 MapReduce本质思想一一分治法: ·将大数据集划分为小数据集 ·小数据集划分为更小数据集 ·将最终划分的小数据分布到集群节点上 ·以并行方式完成计算处理 ·将计算结果递归融汇,得到最后结果 Big Data Computing Technology,2017 Fall
11.2.1 软件模块/计算单元 Big Data Computing Technology, 2017 Fall 5 MapReduce本质思想——分治法: • 将大数据集划分为小数据集 • 小数据集划分为更小数据集 • 将最终划分的小数据分布到集群节点上 • 以并行方式完成计算处理 • 将计算结果递归融汇,得到最后结果
11.2.1软件模块/计算单元 MapReduce四大组件: ·Client Client Task Client JobTracker- Scheduler 。JobTracker Client ·TaskTracker heartbeat heartbeat heartbeat ·Task TaskTracker TaskTracker TaskTracker Map Task Map Task Map Task Map Task Map Task Reduce Task Reduce Task Big Data Computing Technology,2017 Fall
11.2.1 软件模块/计算单元 Big Data Computing Technology, 2017 Fall 6 MapReduce四大组件: • Client • JobTracker • TaskTracker • Task
11.2.1软件模块/计算单元 MapReduce主要任务一一映射与简化: ·Map(映射):负责输入数据的分片、转化、处 理,输出中间结果文件; ·Reduce(简化):以Map的输出文件为输入,对 中间结果进行合并处理,得到最终结果并写入 HDFS。 ·两类任务都有多个进程运行在DataNode.上,相互 间通过Shufflel阶段交换数据 Big Data Computing Technology,2017 Fall
11.2.1 软件模块/计算单元 Big Data Computing Technology, 2017 Fall 7 MapReduce主要任务——映射与简化: • Map(映射):负责输入数据的分片、转化、处 理,输出中间结果文件; • Reduce(简化):以Map的输出文件为输入,对 中间结果进行合并处理,得到最终结果并写入 HDFS。 • 两类任务都有多个进程运行在DataNode上,相互 间通过Shuffle阶段交换数据
11.2.2键值对与输入格式 MapReduce,是以键值对(key-value pair)格式来完 成数据计算处理的 ·键是行键(RowKey) ·多半用作索引(indexing) ·值是字符串(character string)或二进制数组 (binary string)形式 ·包含存储数据或信息。 Big Data Computing Technology,2017 Fall
11.2.2 键值对与输入格式 Big Data Computing Technology, 2017 Fall 8 MapReduce是以键值对(key-value pair)格式来完 成数据计算处理的 • 键是行键(RowKey) • 多半用作索引(indexing) • 值是字符串(character string)或二进制数组 (binary string)形式 • 包含存储数据或信息
11.2.2键值对与输入格式 文件分片一一定义 ·把大数据文件进行分片,生成一个个InputSplit (简称为split) ·一个InputSplit对应一个计算任务(task),分配 到计算节点,由map/reduce进程执行计算处理 ·split是我们对数据文件出于计算需要的逻辑划分 单位,但一个HDFS文件在集群中实际是以块 (block)的物理形式存储的 --Split vs block? Big Data Computing Technology,2017 Fall
11.2.2 键值对与输入格式 Big Data Computing Technology, 2017 Fall 9 文件分片——定义 • 把大数据文件进行分片,生成一个个InputSplit (简称为split) • 一个InputSplit对应一个计算任务(task),分配 到计算节点,由map/reduce进程执行计算处理 • split是我们对数据文件出于计算需要的逻辑划分 单位,但一个HDFS文件在集群中实际是以块 (block)的物理形式存储的 ——Split vs block?
11.2.2键值对与输入格式 Split与Block: biock 1 blo:k2 DataNode3 k block6 DuaNodd 的 ·Block: ·一个HDFS文件可以按 blocki形式进行物理存 DatNode2 blcdi5 blod6 DataNode5 储 ·HDFS的物理存储单元 DtaNoe blc5 blok DetaNoias 。Split: ·一个逻辑上对HDFS文 件的划分方式 ·MapReduce的计算逻 Afile on b做1 block2 block3 bck6 HDFS 辑单元 23 | Big Data Computing Technology,2017 Fall 10
11.2.2 键值对与输入格式 Big Data Computing Technology, 2017 Fall 10 Split与Block: • Block: • 一个HDFS文件可以按 block形式进行物理存 储 • HDFS的物理存储单元 • Split: • 一个逻辑上对HDFS文 件的划分方式 • MapReduce的计算逻 辑单元