/*calculating average for itemssold(int) grouped by city */
a = LOAD 'sales.txt' USING PigStorage(','); /*loading sales data and it has 50 fields that are comma separated*/
b = FOREACH a GENERATE $3 as city:chararray, $4 as itemssold:int;/*defining schema for needed fields*/
c = GROUP b BY city; /*grouping by city*/
d = FOREACH c GENERATE group,AVG(b.itemssold); /*calculating average*/
dump d; /*writing output*/
ここで私は都市別に分類されたitemssoldの平均を計算しようとしています。ブタスクリプトによる平均計算
Error: Error while computing Average.
誰でもこのエラーを修正できますか?
注:sales.txtには50個のフィールドがカンマで区切られているので、Sales.txtを関係自体にロードする際に、すべてのフィールドにスキーマを定義したくありません。
ダンプbはどのように見えるのですか?列インデックスは$ 0.000から始まります。必ずcityとitemssoldはデータファイルの4番目と5番目の列です。 –
ダンプb;そうで..... シカゴ、12の ダラス、20 アトランタ、22 シカゴ、23 アトランタ、12の ダラス、87 、以下のように見えます。 はいインデックスは$ 0の位置から始まることを認識しています。彼らはそれぞれ4位と5位にいる。 –
c = GROUP bを試してください。b.city; d = FOREACH c、b.city、AVG(b.itemssold)を生成する。 –