/*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*/
Здесь я пытаюсь вычислить среднее значение по предметам, сгруппированным по городам.Среднее вычисление по сценарию свиньи
Error: Error while computing Average.
Может кто-нибудь, пожалуйста, помогите мне исправить эту ошибку?
Примечание: Поскольку sales.txt имеет 50 полей, разделенных запятой, я не хочу определять схему для всех полей при загрузке sales.txt в себя.
Как выглядит свалка b? Индексы столбцов начинаются с $ 0.Вы уверены, что город и предметы - это 4-й и 5-й столбцы в файле данных. –
свалка b; выглядит, как показано ниже, Чикаго, 12 Даллас, 20 Атланта, 22 Чикаго, 23 Атланте, 12 Даллас, 87 ..... так далее. Да, я знаю, что индексы начинаются с позиции $ 0. Они находятся на 4-м и 5-м месте соответственно. –
Попробуйте c = GROUP b BY b.city; d = FOREACH c GENERATE b.city, AVG (b.itemssold); –