当我们使用PIG脚本对输出文件中的数据进行DUMP时,如何添加标题?

时间:2015-05-27 14:05:59

标签: apache-pig

我试图搜索它但找不到提示/推荐。 这是我的情况。我已正确排列所有数据并使用pig脚本输出正常工作。将文件存储在输出目录中。输出文件超过100个文件,所以我所做的是使用另一个猪脚本累积结果文件。

我想知道PIG LATIN中是否有任何东西可以帮助我添加" Header"累积的结果文件,以便业务用户可以快速使用它,因为它也有标题?

请告知

3 个答案:

答案 0 :(得分:1)

如果您在Pig脚本中使用DUMP并将结果重定向到单个文件,则可以在DUMP之前使用DESCRIBE。这样做会将架构信息作为标题附加到输出文件

A = LOAD 'test' USING PigStorage() AS (col1:int, col2:chararray);
DESCRIBE A;
DUMP A;

输出将类似于:

A: {col1: int,col2: chararray}
1,test
2,test
...

答案 1 :(得分:1)

Pig可以将架构存储到不同的文件中,并且#34; .pig_schema"使用PigStorage:

将A存储到' outputFile'使用PigStorage(' \ t',' -schema');

将使用制表符作为分隔符将您的数据保存在outputFile中,并创建模式文件。

答案 2 :(得分:0)

您可以将标题存储在单独的文件中,LOAD将其与UNION一起存储在您的数据中。然后你需要做ORDER BY(根据你的数据可能会很棘手)。

另一种方法是使用hadoop getmerge。

一般来说,这不是猪擅长的东西,你也可以用另一种语言写一个剧本。