Hadoop 如何通过pig作业或maprecude作业控制零件文件中存储的记录数?

Hadoop 如何通过pig作业或maprecude作业控制零件文件中存储的记录数?,hadoop,mapreduce,apache-pig,Hadoop,Mapreduce,Apache Pig,是否有方法控制要存储在零件文件中的记录数 谢谢。不容易(如果有的话)。输出中零件文件的数量由脚本的并行性决定,数据以不确定的方式拆分为这些零件文件。我能想到的唯一办法是: A = FOREACH output GENERATE 1 AS num ; B = FOREACH (GROUP A ALL) GENERATE COUNT(A) AS totaloutputlines ; -- Then store both output and B 然后,在python包装器中,使用totalout

是否有方法控制要存储在零件文件中的记录数

谢谢。

不容易(如果有的话)。输出中零件文件的数量由脚本的并行性决定,数据以不确定的方式拆分为这些零件文件。我能想到的唯一办法是:

A = FOREACH output GENERATE 1 AS num ;
B = FOREACH (GROUP A ALL) GENERATE COUNT(A) AS totaloutputlines ; 
-- Then store both output and B
然后,在python包装器中,使用
totaloutputlines
设置python包装器正在运行的脚本的并行性,以便
PAR=B中的行数/每个文件所需的行数
。这将有望大致控制每个零件文件的记录数

通过将输出拆分为每个字段值的一个文件,您可能可以获得与所需内容相近的内容