博客
关于我
理解MapReduce原理_mr
阅读量:374 次
发布时间:2019-03-05

本文共 975 字,大约阅读时间需要 3 分钟。

MapReduce是一个基于集群的计算框架,旨在简化分布式编程。其核心思想是将任务抽象为Map和Reduce两个阶段,便于管理大规模数据处理。

MapReduce基础概念

在MapReduce体系中,**作业(Job)**是用户提交的任务单元,包含输入数据、执行程序及配置信息。**任务(Task)**则是MapReduce将作业拆分成更小的执行单元,包括Map任务和Reduce任务。

  • **Job Tracker(主节点)**负责调度任务,协调作业运行。如果某个任务失败,Job Tracker会自动指定其他Task Tracker重新执行任务。
  • **Task Tracker(工作节点)**则负责执行Map和Reduce任务,并向Job Tracker报告进度。

分片定义与管理

MapReduce将输入数据划分为等长的小块,称为**输入分片(Input Split)**或简单称为分片。每个分片的大小通常设置为HDFS块大小(128MB),以平衡节点负载。

  • 分片大小的影响:分片越小,任务负载越均衡,但会增加框架开销。适当调整分片大小可根据集群性能优化任务分布。
  • 分片分配:MapReduce会根据任务需求动态调整分片数量和分布,确保计算过程的高效性。

Map任务执行流程

每个分片都会启动一个Map任务,负责对应数据的处理。Map任务的工作流程包括:

  • 数据处理:根据Map逻辑对数据进行处理,并将输出结果暂存到内存缓冲区(Buffer)。
  • 缓冲区管理:当缓冲区接近溢出阈值时,数据会被写入本地磁盘,形成中间结果文件。
  • 任务结束后,Map任务会对中间结果文件进行合并,生成一个包含所有分片输出的归档文件。
  • Reduce任务处理

    Reduce任务负责对Map输出的中间结果进行处理。具体流程如下:

  • 数据获取:Reduce任务从多个Map任务的中间结果文件中读取指定分区的数据。
  • 数据处理:将数据写入内存缓冲区,缓冲区接近溢出时写入本地磁盘。
  • 文件合并:当所有相关Map输出的分区数据处理完成后,Reduce任务会将多个中间结果文件合并成一个有序的归档文件。
  • 最终输出:Reduce任务对归档文件进行最终处理,并将结果输出到HDFS存储系统。
  • MapReduce的核心优势在于其灵活性和可扩展性,能够高效处理大规模数据,适用于复杂的分布式计算场景。

    转载地址:http://varg.baihongyu.com/

    你可能感兴趣的文章
    nvidia-htop 使用教程
    查看>>
    oauth2-shiro 添加 redis 实现版本
    查看>>
    OAuth2.0_JWT令牌-生成令牌和校验令牌_Spring Security OAuth2.0认证授权---springcloud工作笔记148
    查看>>
    OAuth2.0_JWT令牌介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记147
    查看>>
    OAuth2.0_介绍_Spring Security OAuth2.0认证授权---springcloud工作笔记137
    查看>>
    OAuth2.0_完善环境配置_把资源微服务客户端信息_授权码存入到数据库_Spring Security OAuth2.0认证授权---springcloud工作笔记149
    查看>>
    OAuth2.0_授权服务配置_Spring Security OAuth2.0认证授权---springcloud工作笔记140
    查看>>
    OAuth2.0_授权服务配置_令牌服务和令牌端点配置_Spring Security OAuth2.0认证授权---springcloud工作笔记143
    查看>>
    OAuth2.0_授权服务配置_客户端详情配置_Spring Security OAuth2.0认证授权---springcloud工作笔记142
    查看>>
    OAuth2.0_授权服务配置_密码模式及其他模式_Spring Security OAuth2.0认证授权---springcloud工作笔记145
    查看>>
    OAuth2.0_授权服务配置_资源服务测试_Spring Security OAuth2.0认证授权---springcloud工作笔记146
    查看>>
    OAuth2.0_环境介绍_授权服务和资源服务_Spring Security OAuth2.0认证授权---springcloud工作笔记138
    查看>>
    OAuth2.0_环境搭建_Spring Security OAuth2.0认证授权---springcloud工作笔记139
    查看>>
    oauth2.0协议介绍,核心概念和角色,工作流程,概念和用途
    查看>>
    OAuth2授权码模式详细流程(一)——站在OAuth2设计者的角度来理解code
    查看>>
    oauth2登录认证之SpringSecurity源码分析
    查看>>
    OAuth2:项目演示-模拟微信授权登录京东
    查看>>
    OA系统多少钱?OA办公系统中的价格选型
    查看>>
    OA系统选型:选择好的工作流引擎
    查看>>
    OA让企业业务流程管理科学有“据”
    查看>>