2017-10-12 3 views
0

これは基本的なPIGの質問です。 私は各動物の平均体重を見つけて、このような出力を持ちたい、このPIGグループによる回避袋

10 | Dog 
15 | Cow 
20 | Dog 
15 | Elephant 
15 | Dog 
25 | Elephant 

ような何か私のデータを持っている:

Dog | 12.5 
Elephant | 20 
Cow | 15 

私は、GROUP BYを使用して結果を得ることができていますがその結果は次のようなバッグになります。

{(Dog), (Dog) } | 12.5 
{(Elephant), (Elephant)} | 20 
{(Cow)} | 15 

個々の動物だけをどのように抽出できますか?

私はこのようにGROUPを使用しています。

--animal_weight is derived through other means 
animal_by = GROUP animal_weight by (animal); 
results = FOREACH animal_by GENERATE animal_weight.animal as animal_name, AVG(animal_weight.weight) as kg; 
STORE results INTO '$output_4' USING PigStorage('|'); 

答えて

0

使用group代わりにanimal_weight.animal。注サンプル・データから、犬は体重の平均(10 + 20 + 15)/ 3 = 15キロ

results = FOREACH animal_by GENERATE group as animal_name, AVG(animal_weight.weight) as kg; 

出力

を有するべきであること

enter image description here

+0

ありがとうございます!私はちょうど12.5を思いついた、数学を済ませていなければならない:-) – EnnioMorricone

関連する問題