MapReduce 1 架构图
2015-12-06 18:06:23 1 举报
MapReduce是一种分布式计算框架,其核心思想是将大规模数据集分解成多个小任务并行处理,以提高计算效率。MapReduce架构图主要包括两个阶段:Map阶段和Reduce阶段。在Map阶段,输入数据被切分成多个小块,然后由不同的计算节点并行处理,将每个小块转换为一组键值对。接着,这些键值对按照键进行排序和分组,以便后续的Reduce阶段处理。在Reduce阶段,具有相同键的值被传递给同一个Reduce任务,该任务将这些值合并并输出最终结果。通过这种分而治之的策略,MapReduce能够高效地处理海量数据,广泛应用于大数据分析和机器学习等领域。
作者其他创作
大纲/内容
JobTracker 角色
10. run执行 Map 或 Task 任务
inputkey/values
Child
jobtracker node
Client Node
std in标准输入
Client JVM
C++ Map or Reduce class
MapTaskorReduceTask
launch
outputkey/values
socket 通讯
MapReduceprogram 程序
4. submit job告知 jobtracker 作业准备执行
Streaming Process流过程
1. run job创建一个内部的 JobSummiter 实例
2. get new job ID请求一个新的作业 ID
TaskTracker角色
9. launch开始、发射1) TaskRunner 启动一个 JVM .(第 9 步)运行每个任务(第 10步 ),以便用户定义的 map 和 reduce 函数的的软件问题不会影响到(如 tasktracker 崩溃或者挂起)。2) 不同任务之间可以重用 JVM
std out标准输出
JobClientMapReduce客户端
Shared FileSystem共享文件系统(如 HDFS)
child JVM 环境被 TaskRunner 启动的子 JVM 环境
tasktracker node
C++ Wrapper library
0 条评论
下一页