Hadoop 从hdfs远程检索文件并将其本地存储在节点中

Hadoop 从hdfs远程检索文件并将其本地存储在节点中,hadoop,hdfs,Hadoop,Hdfs,我想写一个作业,其中每个映射程序检查hdfs中的文件是否存储在正在执行的节点中。如果没有,我想从hdfs中检索它并将其本地存储在此节点中。这可能吗 编辑:我正在尝试(3)重新分区联接的预处理,如下所述:Hadoop中的功能可用于分发完成作业所需的边数据或辅助数据。这里(,)是一些同样有趣的文章。Hadoop中的功能可用于分发完成作业所需的辅助数据或辅助数据。这里(,)有一些同样有趣的文章。为什么要这样做?Hadoop使用的数据局部性原则为您做到了这一点。它不会移动数据,而是移动程序 这来自关于H

我想写一个作业,其中每个映射程序检查hdfs中的文件是否存储在正在执行的节点中。如果没有,我想从hdfs中检索它并将其本地存储在此节点中。这可能吗


编辑:我正在尝试(3)重新分区联接的预处理,如下所述:

Hadoop中的功能可用于分发完成作业所需的边数据或辅助数据。这里(,)是一些同样有趣的文章。

Hadoop中的功能可用于分发完成作业所需的辅助数据或辅助数据。这里(,)有一些同样有趣的文章。

为什么要这样做?Hadoop使用的数据局部性原则为您做到了这一点。它不会移动数据,而是移动程序

这来自关于Hadoop的Wikipedia页面:

jobtracker计划将作业映射/减少到具有 了解数据位置。例如,如果节点A 包含数据(x、y、z)和节点B包含数据(a、B、c)。这个 jobtracker将安排节点B在(a、B、c)上执行映射/减少任务 节点A将被安排在(x,y,z)上执行映射/减少任务

Hadoop文档本身解释了将计算移到数据而不是相反方向的原因:

“移动计算比移动数据便宜”如果执行应用程序请求的计算,则计算效率要高得多 靠近它所操作的数据。尤其是当 数据集是巨大的。这将最大限度地减少网络拥塞并增加 系统的总吞吐量。假设是这样的 通常最好将计算迁移到更接近数据所在的位置 定位而不是将数据移动到应用程序所在的位置 跑步HDFS为应用程序提供了自行移动的接口 更靠近数据所在的位置


你为什么要这么做?Hadoop使用的数据局部性原则为您做到了这一点。它不会移动数据,而是移动程序

这来自关于Hadoop的Wikipedia页面:

jobtracker计划将作业映射/减少到具有 了解数据位置。例如,如果节点A 包含数据(x、y、z)和节点B包含数据(a、B、c)。这个 jobtracker将安排节点B在(a、B、c)上执行映射/减少任务 节点A将被安排在(x,y,z)上执行映射/减少任务

Hadoop文档本身解释了将计算移到数据而不是相反方向的原因:

“移动计算比移动数据便宜”如果执行应用程序请求的计算,则计算效率要高得多 靠近它所操作的数据。尤其是当 数据集是巨大的。这将最大限度地减少网络拥塞并增加 系统的总吞吐量。假设是这样的 通常最好将计算迁移到更接近数据所在的位置 定位而不是将数据移动到应用程序所在的位置 跑步HDFS为应用程序提供了自行移动的接口 更靠近数据所在的位置


本地存储是指在数据节点中,还是在运行mapper实例的节点上的预定义位置?你能详细说明你想做什么吗?@克里斯,谢谢!我想这是第二个。我已经添加了我想要做的。本地存储是指在数据节点中,还是在运行mapper实例的节点上的预定义位置?你能详细说明你想做什么吗?@克里斯,谢谢!我想是第二次了。我已经补充了我想做的事。非常感谢。这也是我的想法,但我不确定,因为我试图解决的问题中的伪代码有点混乱。非常感谢。这也是我的想法,但我不确定,因为我试图解决的问题中的伪代码有点混乱。。