dump不能输出任何内容

h4cxqtbf  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(367)

这是我的pig脚本和输入数据,当执行dumpf1时,输出是正确的,但是当执行dumpf2时,输出是()——似乎是空的,输入数据或代码有什么问题吗?
我期望转储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:
()
h5qlskok

h5qlskok1#

默认情况下,load查找制表符(\t)分隔的数据。您可以将tab用作input.txt中的分隔符,也可以基于兴趣分隔符use right函数使用using子句加载数据。
裁判:http://chimera.labs.oreilly.com/books/1234000001811/ch05.html#comments
将input.txt的内容如下,然后尝试执行脚本。您应该能够看到f2的转储结果。
输入.txt:

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

相关问题