我想写一个猪拉丁文字:我必须在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);
您将年份加载到chararray字段并将其与1951进行比较,这是一个int.You有两个选项。将年份加载到int或者在filter语句中将年份转换为int。
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