DUMP无法输出任何内容

时间:2015-09-06 23:26:32

标签: hadoop apache-pig

这是我的Pig脚本和输入数据,当执行DUMP F1时,输出是正确的,但是当执行DUMP F2时,输出是() - 似乎是空的,输入数据或代码有什么问题?

我希望DUMP F2的输出为(1),(3),(5),(12)。

hadoop fs -text input.txt
({(3),(4),(1),(2),(7),(5),(6)},{(1),(3),(5),(12)})

-- ({(3),(4),(1),(2),(7),(5),(6)},{(1),(3),(5),(12)})
A = load 'input.txt' AS (B1:bag{T:tuple(val:int)},B2:bag{T:tuple(val:int)});

F1 = foreach A generate B1;
F2 = foreach A generate B2;
DUMP F1;
DUMP F2;

output of DUMP F1:
({(3),(4),(1),(2),(7),(5),(6)})

output of DUMP F2:
()

1 个答案:

答案 0 :(得分:1)

默认情况下,LOAD会查找制表符(\ t)分隔数据。您可以在input.txt中使用tab作为分隔符,也可以使用interest delimiter use right函数来使用USING子句加载数据。

参考:http://chimera.labs.oreilly.com/books/1234000001811/ch05.html#comments

将input.txt的内容如下所示并尝试执行脚本。您应该能够看到F2的转储结果。

input.txt:

{(3),(4),(1),(2),(7),(5),(6)}   {(1),(3),(5),(12)}