我是猪新手,根据我的理解,SET default_parallel 1
声明应该生成一个输出文件,因为它将使用一个缩减器。但是当我在下面的脚本上使用这个命令时,它给了我2个/ p文件。SET default_parallel 1;声明不适用于猪
SET default_parallel 1;
A = LOAD 'hdfs:/pigfldr/union1' using PigStorage(' ') AS (sln:int);
B = LOAD 'hdfs:/pigfldr/union2' using PigStorage(' ') AS (sln:int);
C = UNION A, B;
STORE C INTO 'hdfs:/pigfldr/unionfres';
它也取决于你的hdfs集团的大小(其他参数),但为什么你想要有正好1个输出文件?如果没有出错,我想你仍然会有“_succes”文件。 – AntonyBrd
我想合并这两个文件。我希望首先将文件A的记录放在一个文件中,然后再放入B. – Saswat
MapReduce过程给出多个输出文件是很常见的。如果你想在你的本地文件系统中使用这些结果到一个文件中,请使用hadoop fs -get merge https://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/FileSystemShell.html #getmerge,如果你想留在HDFS中使用output/path/*。 – AntonyBrd