CombineFileSplit具有一个构造函数:

CombineFileSplit(Path[] files, long[] start, long[] lengths, String[] locations)

因为文件可以驻留在许多位置/节点中,所以位置数组是否必须与文件数组大小相同?

最佳答案

位置数组不必与文件数组相同,因为来自FileSplit的构造函数:
公共(public)FileSplit(路径文件,
长期以来
长,
String []个主机)
您可以得出结论,一个文件可以具有许多位置/主机。另外,如果您看到CombineFileSplit构造函数的源代码,则可以传递一个空字符串数组。我认为locations数组是供您使用的,因此,如果您知道文件所在的位置,则可以提供该文件或传递空字符串。

关于hadoop - 在Hadoop的Java中创建CombineFileSplit?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43027040/

10-12 23:46