double と chararray を持つ非常に単純な 2 列のデータがあります。
user1 234.43
user1 432.23
user2 4321.213
etc.
ユーザーごとにグループ化し、その double の平均を計算したいと考えています。どのように?「GROUP * ALL」は必要ですか? 例 2 http://wiki.apache.org/pig/PigOverviewに従おうとしていますが、うまくいきません。
selfReportsAndDiscrepancies = FOREACH discrepancies1 GENERATE discrepancy,selfReportedText;
perDiscrepancy = GROUP selfReportsAndDiscrepancies BY selfReportedText;
allDiscrep = group perDiscrepancy all;
means = FOREACH allDiscrep GENERATE AVG(perDiscrepancy.discrepancy);
DUMP means;
DESCRIBE means;
私に与えます:
2013-04-02 17:54:06,611 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1128: Cannot find field discrepancy in group:chararray,selfReportsAndDiscrepancies:bag{:tuple(discrepancy:double,selfReportedText:chararray)}