2014-11-14 17 views
1

樣本數據:(TSV文件:SAMPL)採樣的內部組記錄通過投擲誤差

2 B

3c中

raw= load 'sampl' using PigStorage() as (f1:chararray,f2:chararray); 
grouped = group raw by f1; 

describe grouped; 
fields = foreach grouped { 
    x = sample raw 1; 

    generate x; 
} 

當我運行這個我得到錯誤在線x = sample raw 1; 錯誤1200:mism atched input'raw'expected LEFT_PAREN

是否允許對分組記錄進行採樣?

回答

0

您不能在嵌套塊中使用'sample'命令。豬不支持此功能。
在嵌套塊中只允許少數操作操作,如(CROSS,DISTINCT,FILTER,FOREACH,LIMIT和ORDER BY)。您必須在嵌套塊之外使用示例命令。

另一個問題是,您正在使用默認分隔符即選項卡加載您的輸入數據。但是你的輸入數據是用空格分隔的,所以你需要像這樣改變你的腳本

raw= load 'sampl' using PigStorage(' ') as (f1:chararray,f2:chararray); 
+0

感謝您的評論。輸入數據包含選項卡,但由於複製粘貼錯誤,此處顯示爲空格。 – user765938 2014-11-14 19:59:29

+0

很好,如果有幫助,請將此問題標記爲已回答。 – 2014-11-18 18:51:14