pig错误:从关系读取属性时

afdcj2ne  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(294)

​嗨,我正在使用下面的代码来执行订单操作,但是它抛出了一个错误 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子句中读取此列数据。请分享你的想法。。

um6iljoc

um6iljoc1#

不能按分组数据排序。使用foreach生成所需的数据,然后执行order by。

C = FOREACH B GENERATE FLATTEN(group) AS (job_id, job_assignment_status_cd), a;
byts = ORDER C BY job_id DESC;
lxkprmvk

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 ;
或者

byts = ORDER B BY JB_ASGNMNT::JB_DLT::job_id DESC;

相关问题