如何将文件放到特定节点?

ffr*_*end 3 hadoop hdfs

是否可以告诉HDFS 存储特定文件的位置?

用例

我刚刚将第1批文件加载到HDFS中,并希望在这些数据上运行作业/应用程序.但是,我还有要装入的批次#2 .如果我可以在第一批上运行作业/应用程序,比如从1到10的节点,并将新数据加载到节点(例如11到20,完全并行),那将是很好的.

最初我认为NameNode联合(Hadoop 2.x)就是这样做的,但看起来联邦只分割名称空间,而DataNode仍为所有连接的NameNode提供块.

那么,有没有办法控制 HDFS中的数据分布?它有意义吗?

Mik*_*ark 7

从技术上讲,你可以,但我不会.

如果要完全控制数据的位置,可以进行扩展BlockPlacementPolicy(请参阅hdfs如何选择要存储的datanode).这不容易做到,我不推荐它.

您可以采取措施尽量减少两组节点之间的流量,并通过一些巧妙的设置来使用机架感知功能.