pig生成空行

pgccezyw  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(344)

我有一个简单的pig作业,它生成一列数据。为了消除输出中的空行,我编写了以下命令:

items = FOREACH inputs GENERATE item;
items = DISTINCT items;
items = FILTER items BY ($0 IS NOT NULL);
items = FILTER items BY NOT IsEmpty(TOBAG($0));
STORE items INTO '$output/items';

虽然我试图消除空条目和空条目,但在hdfs上的输出文件中仍然有空行。
值得注意的是,当我将最后一行(即store)替换为,

DUMP items;

终端输出不显示空白输出线。
对这个问题的根本原因的任何评论都是高度赞赏的。

mfuanj7w

mfuanj7w1#

我自己修的。
结果是pig解析器将空白的解析输入变成了一个换行符。因此,以下结果是有效的(见第三行):

items = FOREACH inputs GENERATE item;
items = DISTINCT items;
items = FOREACH items GENERATE ($0=='\n'?NULL:$0);
items = FILTER items BY ($0 IS NOT NULL) AND (NOT IsEmpty(TOBAG($0)));
STORE items INTO '$output/items';

相关问题