2015-09-06 123 views
0

这是我的Pig脚本和输入数据,当执行DUMP F1时,输出是正确的,但是当执行DUMP F2时,输出是() - 看起来是空的,任何输入数据或码?我期望DUMP F2的输出是(1),(3),(5),(12)。DUMP不能输出任何东西

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

默认LOAD查找选项卡(\ t)的分隔的数据。您可以使用tab作为input.txt中的分隔符,也可以使用interest分隔符使用权限函数通过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)} 
+0

感谢,并为我工作。 :) –