2017-02-18 58 views
1

運行此PIG腳本時出現以下錯誤....請幫助!!! 在此先感謝。使用SUM時出現豬腳本錯誤()

"ERROR 1000: Error during parsing. Scalars can be only used with projections" 

MOVIES = LOAD '/MOVIES' using PigStorage(',') as (mid:double, mn:chararray, yr:int, rt:float, dr:int); 

Filter11 = filter MOVIES by $2 >= 1950; 

Filter12 = filter Filter11 by $2 <= 1960; 

Group1 = group Filter12 by yr; 

Count1 = foreach Group1 generate group, COUNT(Filter12); 

Sum1 = foreach Count1 generate SUM(Group1); 

DUMP Sum1; 
+0

你想在這裏實現什麼? – bartektartanus

+0

SUM函數需要在MOVIES中定義的其中一列上執行。 –

回答

0

結合兩個過濾條件,並在最後一步計數COUNT(Filter11)或$ 1。

MOVIES = LOAD '/MOVIES' using PigStorage(',') as (mid:double, mn:chararray, yr:int, rt:float, dr:int); 
Filter11 = filter MOVIES by ($2 >= 1950 and $2 <= 1960); 
Group1 = group Filter11 by yr; 
Count1 = foreach Group1 generate group, COUNT(Filter11); 
Sum1 = foreach Count1 generate SUM($1); 
DUMP Sum1;