我尝试使用 Pig 对日期字符串列 date_time_stamp
进行排序,但是当函数对列/字段进行操作时,它似乎无法排序。
C = ORDER B BY ToDate(date_time_stamp, 'dd-MMM-yy hh.mm.ss.SSSSSS a') ASC;
这是一个示例数据:
19-JUN-15 04.45.00.000000 PM,6
20-JUN-15 11.15.00.000000 AM,5
19-JUN-15 07.15.00.000000 AM,17
21-JUN-15 12.00.00.000000 AM,0
20-JUN-15 12.35.00.000000 PM,33
如何对函数操作的列进行排序?
最佳答案
根据文档:http://pig.apache.org/docs/r0.12.0/basic.html#order-by
执行 ORDER BY 的 field_alias 应出现在关系/别名中。
Pig 目前支持对具有简单类型的字段或通过元组指示符 (*) 进行排序。您不能对具有复杂类型或表达式的字段进行排序。
在共享的用例中,在对别名 B 执行 ORDER BY 之前,我们必须将 ToDate() 的值投影为 field_alias,然后我们可以对此字段执行 order by。
关于apache-pig - 在函数的返回值上使用 Pig 的 ORDER BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32196173/