前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hadoop数据分析平台实战——050MapReduce结构以及编程模型介绍(做过MR程序略过)离线数据分析平台实战——050MapReduce结构以及编程模型介绍(做过MR程序略过)

Hadoop数据分析平台实战——050MapReduce结构以及编程模型介绍(做过MR程序略过)离线数据分析平台实战——050MapReduce结构以及编程模型介绍(做过MR程序略过)

作者头像
Albert陈凯
发布2018-04-08 11:11:42
5920
发布2018-04-08 11:11:42
举报
文章被收录于专栏:Albert陈凯Albert陈凯

离线数据分析平台实战——050MapReduce结构以及编程模型介绍(做过MR程序略过)

MapReduce结构介绍

MapReduce(YARN)是Hadoop提供的一种处理海量数据的并行编程模型和计算框架,用于对大规模的数据进行并行计算。 主要由resourcemanager和nodemanager两类节点构成。 其中resourcemanager主要负责集群资源管理, nodemanager负责节点的资源管理。 除此之外,当运行mapreduce任务的时候,会产生ApplicationMaster和Container, 其中ApplicationMaster负责向resourcemanager节点进行资源的申请并控制任务的执行, Container是最基本的资源单位。 MapReduce的map和reduce均是其之上进行运行的。

YARN结构示意图

image.png

MapReduce编程思想

MapReduce采用"分而治之"的思想, 将对大规模的数据集的操作分配给各子节点进行操作, 然后通过整合各子节点的中间结果,得到最终结果。 简单来说就是“任务的分解和结果的汇总”。 Hadoop将这个工作高度抽象成为两个函数,分别为map和reduce。 map负责将任务分解为多个任务, reduce负责将多个map任务的中间结果合并为最终结果。 至于在此过程中的其他步骤,均由hadoop的MapReduce框架自行负责处理,包括工作调度、任务分配、各节点通信等。

MapReduce编程模型

image.png

MapReduce新旧API说明

从整体角度来讲的话,MapReduce有两套不同的开发API,一套是位于mapred包下面的api,我们成为旧API;一套是位于mapreduce包下的api,我们成为新API;两套api的区别在于旧api使用接口来进行管理,而新api采用抽象类来进行管理。

MapReduce案例1--wordcount程序实现

完成功能:统计一系列文本文件中的每个单词出现的次数

Hadoop示例程序WordCount详解及实例 http://blog.csdn.net/xw13106209/article/details/6116323

MapReduce案例2--倒排索引

完成功能:统计一系列文本文件中的每个单词构成的倒排索引。 分析:

  1. 倒排索引主要是用来存储某个单词在一个文档中或者一组文档中出现的位置映射关系,即提供一个根据内容查找文档的方式。
  2. 加权倒排索引,在确定指定单词到文档位置的映射关系的时候,加入权重考虑信息。

http://blog.csdn.net/hguisu/article/details/7962350

image.png

image.png

倒排索引为什么叫倒排索引?

https://www.zhihu.com/question/23202010/answer/23901671

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.08.29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 离线数据分析平台实战——050MapReduce结构以及编程模型介绍(做过MR程序略过)
    • MapReduce结构介绍
      • YARN结构示意图
        • MapReduce编程思想
          • MapReduce编程模型
            • MapReduce新旧API说明
              • MapReduce案例1--wordcount程序实现
                • MapReduce案例2--倒排索引
                相关产品与服务
                GPU 云服务器
                GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档