Получение ошибки при загрузке данных у свиньи с годом - PullRequest
0 голосов
/ 26 апреля 2019

Я хочу написать латинский скрипт: где я должен загрузить все данные после 1951 года (1951 не включен) и отфильтровать данные, где качество = 1 Сгруппировать данные по температуре, а затем рассчитать самый большой год для каждого температура.

сделал это

records = load '/user/a106524609/test.txt' using PigStorage(' ') as 
(year:chararray, temperature:int, quality:int);
rec1 = filter records by year >1951 and (quality == 1);

Я получаю эту ошибку enter image description here

1 Ответ

1 голос
/ 26 апреля 2019

Вы загружаете год в поле chararray и сравниваете его с 1951, который является целым числом. У вас есть два варианта. Загрузите год в целое число, иначе в выражении фильтра приведите год к целому числу.

records = load '/user/a106524609/test.txt' using PigStorage(' ') as 
(year:int, temperature:int, quality:int);
rec1 = filter records by year > 1951 and (quality == 1);

Или

records = load '/user/a106524609/test.txt' using PigStorage(' ') as 
(year:chararray, temperature:int, quality:int);
rec1 = filter records by year:int > 1951 and (quality == 1);-- Note (int)year > 1951 should work too
...