2013-11-15 35 views
3

看來,我不能做豬轉儲不能表達?

dump (limit A 10); 

B = limit A 10; 
dump B; 

似乎工作。

爲什麼?這似乎與直覺相反。

+2

豬由三個階段組成,分別是LOAD,TRANSFORM,DUMP/STORE(ETL),在這個例子中你試圖在STORE階段進行轉換,另外Pig本身告訴你每一次操作你在事後使用它們之前將結果分配到一個關係中(我不完全確定所有這些,我對豬是全新的) –

+0

這是不正確的。你仍然可以做「STORE(表達式)...」或「FOREACH(GROUP ...)GENERATE ...」。每個單獨的操作(我猜豬語句的意思)都不應該有它的關係名稱,因爲它不一定是一個MapReduce作業,有時Pig會將許多語句合併到一個MapReduce作業中。我想這個特殊的DUMP(表達式)情況是Pig的限制/缺陷。 – Ruslan

回答

0

確實如此,你不能這樣做。

我認爲這個問題爲什麼不是真的在範圍內,但可能是因爲與STORE不同,DUMP命令主要用於調試。

也許相關: 如果您只輸入DUMP而沒有任何參數,它會自動轉儲上次使用的別名。