在 Return 函数值上使用 Pig 的 ORDER BY
Using Pig's ORDER BY on Return Value of Function
我正在尝试在日期字符串列 date_time_stamp
上使用 Pig 进行排序,但是当函数对列/字段进行操作时,它似乎无法排序。
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,然后我们可以在此字段上执行排序。
我正在尝试在日期字符串列 date_time_stamp
上使用 Pig 进行排序,但是当函数对列/字段进行操作时,它似乎无法排序。
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,然后我们可以在此字段上执行排序。