hadoop - hadoop 映射操作如何管理 HDFS 集群上的数据冗余?

标签 hadoop mapreduce

由于 hadoop 在 HDFS 上运行,并且数据在 HDFS 集群中复制以实现冗余,hadoop 映射操作实际上是否通过在集群中的不同节点上对相同数据点运行映射器而浪费大量处理器周期? (因为根据设计,节点之间有一些数据重叠,根据复制级别)。

或者首先,根据某种作业管理策略,只处理部分节点,以避免这种重复计算,以某种非常聪明的方式?

最佳答案

每个映射器都有一个单独的 InputSplit 来处理。因此,如果您有 100 个 InputSplits,则框架将生成 100 个映射器。然后每个映射器将检查它是否拥有它需要的所有数据——如果没有,它将下载所有需要的数据并开始计算。一个 InputSplit 永远不会被分配两次。

关于hadoop - hadoop 映射操作如何管理 HDFS 集群上的数据冗余?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26554690/

相关文章:

hadoop - 在 Hadoop 上处理大科学数据

hadoop - hadoop节点的集群ID是否随时间变化?

file - Hadoop:将文件或文件路径发送到映射缩减作业

hadoop - 如何在hadoop中使用关键字匹配从多个页面获取整个页面内容

logging - 合并 MapReduce 日志

eclipse - 在Eclipse上运行MapReduce代码

regex - Hive 正则表达式序列化

hadoop - 无法格式化Cantos java.lang.Internal Error中的名称节点

java - 使用hadoop jar时如何增加堆大小?

hadoop - 如何将作业提交到Hadoop中的特定节点?