2015-09-06 160 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

感謝,併爲我工作。 :) –