嗨,我正在使用下面的代码来执行订单操作,但是它抛出了一个错误 Invalid field projection
其中关系具有列。 grunt> byts = ORDER B BY JB_DLT::job_id DESC;
错误
2016-09-20 07:32:56815[main]error org.apache.pig.tools.grunt.grunt-错误1025:字段投影无效。架构中不存在投影字段[jb\u dlt::job\u id]:group:tuple(jb\u asgnmnt::jb\u dlt::job\u id:bigdecimal,job\u asnmnt\u sts\u dlt::job\u assignment\u status\u cd:chararray),a:bag{:tuple(jb\u asgnmnt::jb\u dlt::job\u id:bigdecimal,job\u asnmnt\u sts\u dlt::job\u assignment\u status\u cd:chararray,job\u asnmnt\u sts\u dlt::job\u assignment\u status\u id:bigdecimal,作业\u asnmnt \u sts \u dlt::实际状态\u dt:datetime)}。 grunt> describe B;
b:{组:(jb\u asgnmnt::jb\u dlt::job\u id:bigdecimal,job\u asnmnt\u sts\u dlt::job\u assignment\u status\u cd:chararray),a:{(jb\u asgnmnt::jb\u dlt::job\u id:bigdecimal,job\u asnmnt\u sts\u dlt::job\u assignment\u status\u cd:chararray,job\u asnmnt\u sts\u dlt::job\u assignment\u status\u id:bigdecimal,job\u asnmnt\u sts\u dlt::actual\u status\u dt:datetime)}}
如何在ORDERBY子句中读取此列数据。请分享你的想法。。
2条答案
按热度按时间um6iljoc1#
不能按分组数据排序。使用foreach生成所需的数据,然后执行order by。
lxkprmvk2#
虽然jb\u dlt::job\u id存在,但无法找到(存在jb\u asgnmnt::jb\u dlt::job\u id),请编辑添加jb\u dlt::job\u id作为job\u id的语句b。然后运行:
grunt> byts = ORDER B BY job_id DESC
;或者