MapReduce 数据本地化

数据本地化是指把计算移动到数据所在节点上进行执行的过程,也就是通常所说的 “移动计算而不是移动数据”。移动计算比移动数据具有更大的优势,它可以降低网络开销,增加系统的整体吞吐量。

数据本地化的概念

让我们来理解一下数据本地化的概念,以及什么 MapReduce 数据本地化。

Hadoop 主要的缺点是跨交换网络传输巨量的数据。为了克服这个缺点,Hadoop 提出了数据本地化概念。数据本地化的指的是把计算移动到尽可能离数据近的地方执行,因为移动计算比移动巨量数据要更高效,它可以降低网络开销,增加系统的整体吞吐量。

在 Hadoop 中,数据集是存储在 HDFS 的。而数据集会被切割成很多块,这些块会被存储在 Hadoop 集群的不同节点。在执行 MapReduce 作业的时候,NameNode 把这些 MapReduce 程序的代码发送给与该程序代码将要处理的数据所在 的 datanode 上。这个过程可以结合下面的图来理解。

MapReduce 数据本地化的要求

为了达到数据本地化的所有优势,系统架构需要满足下面的条件:

  • 首先,集群应该具备合理的拓扑结构。Hadoop 代码必须具有读取数据位置的能力。
  • 其次,Hadoop 必须对集群内执行任务的节点的拓扑结构具有感知能力。而且 Hadoop 必须知道数据存储的具体位置。

</

Hadoop系列之MapReduce 数据本地化 (29)相关推荐

  1. hadoop系列四:mapreduce的使用(二)

    转载请在页首明显处注明作者与出处 一:说明 此为大数据系列的一些博文,有空的话会陆续更新,包含大数据的一些内容,如hadoop,spark,storm,机器学习等. 当前使用的hadoop版本为2.6 ...

  2. hadoop系列三:mapreduce的使用(一)

    一:说明 此为大数据系列的一些博文,有空的话会陆续更新,包含大数据的一些内容,如hadoop,spark,storm,机器学习等. 当前使用的hadoop版本为2.6.4 上一篇:hadoop系列二: ...

  3. Hadoop 生态系列之 Mapreduce

    阅读文本大概需要 5 分钟.文章稍长,建议收藏慢慢看. 目前 Hadoop 系列文章的规划就是这样,持续补充完善中- 同时可以访问 https://data.cuteximi.com Hadoop 生 ...

  4. Hadoop实战系列之MapReduce 分析 Youtube视频数据

    Hadoop实战系列之MapReduce 分析 Youtube视频数据 一.实战介绍 MapReduce 是 Hadoop 的计算框架. 在运行一个 MR 程序时,任务过程被分为两个阶段:Map 阶段 ...

  5. Hadoop集群大数据解决方案之MapReduce 程序实战进阶(自定义partitionsortgroup)(六)

    准 备   在上一篇博客举了个简单的word count,重在说明mapreduce的流程,但是针对mapreduce的编程,程序员能控制的,远远不止map和reduce,还有诸如partition, ...

  6. 干翻Hadoop系列文章【03】:MapReduce概念详解

    引言 数据存储在分布式文件系统中HDFS里边,通过使用Hadoop资源管理系统YARN,Hadoop可以将MapReduce计算,转移到有存储部分的数据的各台机器上. 一:概念和原理 1:MapRed ...

  7. 文件数据云计算学习笔记---Hadoop HDFS和MapReduce 架构浅析

    本文是一篇关于文件数据的帖子 媒介 Hadoop是一个基于Java的分布式麋集数据处理和数据分析的软件框架.Hadoop在很大程度上是受Google在2004年白皮书中论述的MapReduce技术的启 ...

  8. Hadoop系列之三:函数式编程语言和MapReduce

    1.MapReduce和大数据问题 海量数据并行处理的核心思想无非是将一个较大的问题进行"分割包围.逐个歼灭".然而其难点和关键点在于如何将一个大的问题分分割成多个可以分别在不同的 ...

  9. Hadoop系列之五:MapReduce进阶(2)

    1.MapReduce作业.集群及其逻辑架构 前文已经描述,MapReduce是一个编程框架,它为程序员提供了一种快速开发海量数据处理程序的编程环境,并能够让基于这种机制开发出的处理程序以稳定.容错的 ...

  10. Hadoop数据本地化

    首先需要知道,hadoop数据本地化是指的map任务,reduce任务并不具备数据本地化特征.            通常输入的数据首先将会分片split,每个分片上构建一个map任务,由该任务执行执 ...

最新文章

  1. android 显示单位 像素
  2. How is javascript asynchronous AND single threaded?
  3. Azure已成为微软业绩的顶梁柱
  4. 半导体八大工艺流程图_半导体之光刻胶,看五大龙头谁能迈出国产化第一步?...
  5. 关于python pandas read_csv的理解
  6. 如何进行 JVM 调优
  7. android nfc常用标签读取
  8. 2020计算机二级c语言答案,2020年全国计算机二级C语言考试试题分析
  9. 利用nginx搭建http和rtmp协议的流媒体服务器,用nginx搭建http/rtmp/hls协议的MP4/FLV流媒体服务器...
  10. 南丁格尔玫瑰图-修改扇形块的颜色与玫瑰图添加图片与文字
  11. 发生系统错误 67,找不到网络名
  12. 无法设置默认打开方式怎么办
  13. 农村没网络怎样安监控,家里没有wifi安哪种监控器
  14. MyBatis基础原理
  15. PCIe扫盲系列博文连载目录
  16. JS-BOM对象概叙
  17. JavaWeb学习笔记(狂神版)--- 第九节 Cookie与Session
  18. 安川机器人编程指令含义
  19. 第3章 软件缺陷管理课后习题
  20. c语言和线性代数哪个难,学编程数学到底有多重要?线性代数能否视为一门程序语言呢?...

热门文章

  1. linux 查看文件哈希码,计算文件哈希值
  2. 行人重识别论文阅读14-Learning by Aligning- Visible-Infrared Person Re-identification
  3. kpi绩效考核流程图_绩效考核流程图
  4. 1MB是多少字节 ?是多少位?
  5. 33. secure world对smc请求的处理------invoke command操作在OP-TEE中的实现
  6. 基于服务的多源异构数据整合平台解决方案
  7. 代写品牌故事四步写作方法
  8. python画球matplotlib_python – matplotlib中的球面坐标图
  9. js 内置对象常用方法
  10. 玩转群晖NAS套件系列三:Video Station安装使用保姆级教程!