Map side join实际可以加入的最大路径数是多少?
我有 n 个文件夹 - path/to/folder1 , path/to/folder2 , path/to/folder3 ....so on path/to/folder in HDFS
path/to/folder1 包含 3 个文件,比如 part-1、part-2、part-3。同样,所有剩余的文件夹中的每个文件夹都有 3 个文件,每个文件的名称都与 folder1 中的相同。
我想像下面这样使用 map side join 来加入这些文件夹
pathsToJoin <- path/to/folder1 , path/to/folder2 , path/to/folder3 ....so on path/to/folder*n*
String joinStmt = CompositeInputFormat.compose("outer",TextInputFormat,pathsToJoin);
conf.set("mapred.join.expr", joinStmt);
由于每个文件夹中有 3 个文件,该作业将产生 3 个映射任务(所有第 1 部分文件的内容加入到一个映射器,所有第 2 部分文件的内容到第 2 个映射器以及所有第 3 部分文件的内容到第 3 个映射器),但我想知道这里 n 的最大值是多少?
最佳答案
在 CompositeInputFormat 的源代码中似乎没有硬性限制,路径附加到描述连接的字符串表达式,然后解析为拆分。您可能受到内存的限制,但我想您可以毫无问题地列出 100 甚至 1000 个
关于hadoop - Map side join 可以加入的最大路径数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13579379/