2016-04-08 74 views
0

總結每個出生城市/出生州組合的雙打和三倍數。輸出生產最多雙打和三倍球員的前5名出生城市/出生州組合。豬內腳本總數

目前我有這個

clean = FOREACH filtered_2 GENERATE id,city,state, dble + tripple AS combined; 
dump clean; 

我的問題是我怎麼符合以上?很明顯,我必須由(城市,州)進行分組。我如何才能在袋子內總和,如果我通過

enter image description here

counter = foreach clean { 
    sum1 = SUM(combined); 
    generate id,city,state,sum1; 
}; 

我在想這樣的事情,但做組,它不工作

回答

1

集團的關係由城市,州和再幹淨使用SUM來獲得每個城市,州的分組總數。

clean = FOREACH filtered_2 GENERATE id,city,state,(dble + tripple) AS combined; 
clean_group = GROUP clean BY (city,state); 
counter = FOREACH clean_group GENERATE FLATTEN(group) as (city,state),SUM(clean.combined) as sum1; 
+0

你能解釋最後一行嗎? PLZ我很困惑,在這個特定的功能如何平鋪 – dedpo

+0

由於分組是由2個字段,組由2個字段產生一個元組。所以要從元組中提取字段,你將不得不使用FLATTEN –