使用年份在猪中加载数据时出错

Getting error in loading data in pig with year

我想写一个 pig latin 脚本:我必须加载 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 将两个 option.Load 年份转换为 int,或者在过滤器语句中将年份转换为 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