我在 Hadoop 1.2.1 上使用 Pig 0.13.0。为了处理 JSON 文件,我还使用了 ElephantBird UDF 版本 4.5。到目前为止,我对 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;
...
我尝试删除(长)但无济于事。