在hadoop文件系统中,我有两个文件说X和Y.通常,hadoop会生成大小为64 MB的文件X和Y块。是否有可能强制hadoop划分两个文件,以便从X的32 MB和Y的32 MB创建64 MB的块。换句话说,是否可以覆盖文件分区的默认行为?
答案 0 :(得分:0)
文件分区是FileInputFormat的一个功能,因为它在逻辑上取决于文件格式。您可以使用任何其他格式创建自己的输入。所以每个文件 - 你可以做到。
在单个分割中混合两个不同文件的部分听起来有问题 - 因为文件是处理的基本单位。
你为什么有这样的要求?
我看到下面的要求。可以说数据局部性必须至少部分成功 - 我们可以将map本地运行到一个文件而不是两者。
我建议构建某种“文件对”文件,将其放入分布式缓存中,然后在map函数中加载来自HDFS的第二个文件。