我在hadoop1.2.1上使用pig0.13.0。为了处理json文件,我还使用了elephantbird 4.5的udf版本。到目前为止,我对udf没有太大的问题,但当我尝试按json字段排序别名时,pig编译器并不满意,我得到了以下错误:
Failed to parse: <file find.pig, line 13, column 35> Syntax error, unexpected symbol at or near 'long'
脚本如下所示(请看order语句):
...
records = LOAD '$INPUT' USING com.twitter.elephantbird.pig.load.JsonLoader('-nestedLoad') AS (json:map[]);
sorted_records = ORDER records BY (long)json#'imp' desc;
...
我试着去掉(长的),但没有用。
1条答案
按热度按时间yv5phkfx1#
您不能根据
JsonLoader
或者在order by
. 你所能做的就是预测json#'imp'
到记录中的字段,然后按以下方式排序: