2017-02-18 5 views
1

このPIGスクリプトを実行中に次のエラーが発生しました。 ありがとうございます。SUM()を使用中にPIGスクリプトエラーが発生しました

"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

MOVIESで定義されている列の1つでSUM関数を実行する必要があります。 –

答えて

0

2つのフィルタ条件を組み合わせ、最後のステップでは、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; 
関連する問題