gpt4 book ai didi

hadoop - Hadoop 中 HDFS 以外的文件系统如何使用数据局部性?

转载 作者:可可西里 更新时间:2023-11-01 14:16:54 24 4
gpt4 key购买 nike

我们知道 Hadoop 使用数据局部性原则来生成 map-reduce 作业以节省网络带宽。以下是其工作原理的描述:

取自:http://hadoop-gyan.blogspot.in/

Hadoop tries its best to run map tasks on nodes where the data is present locally to optimize on the network and inter-node communication latency. As the input data is split into pieces and fed to different map tasks, it is desirable to have all the data fed to that map task available on a single node.Since HDFS only guarantees data having size equal to its block size (64M) to be present on one node, it is advised/advocated to have the split size equal to the HDFS block size so that the map task can take advantage of this data localization.

Hadoop 能够运行 map-reduce 作业,即使底层文件系统不是 HDFS(即它可以在其他文件系统上运行,例如 Amazon 的 S3)。现在,在这种情况下如何计算数据局部性?在 HDFS 的情况下,namenode 拥有所有的 block 位置信息,并使用这些信息在尽可能靠近数据的地方生成映射器。然而,在其他文件系统中没有名称节点的概念。那么,Hadoop MapReduce 框架(JobTracker 和 TaskTracker)如何在运行作业时学习数据的位置以应用数据局部性原则?

最佳答案

正如您所提到的,像 S3 这样的文件系统不需要 namenonde 来运行。在这种情况下,数据局部性优化不可用。

引用:http://wiki.apache.org/hadoop/AmazonS3

关于hadoop - Hadoop 中 HDFS 以外的文件系统如何使用数据局部性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19373231/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com