如何使用PIG转换日期和时间?我正在尝试转换为不转换为24小时格式的输入值
30/06/2016 02:43:23 PM
01/12/2016 12:43:23 AM
ToDate($0,'dd/MM/yyyy hh:mm:ss aa')
后结果是
30/06/2016 02:43:23.324+05:30
01/12/2016 12:43:23+05:30
但期待结果为
30/06/2016 14:43:23
01/12/2016 12:43:23
任何人都可以帮助我
答案 0 :(得分:1)
参考: http://pig.apache.org/docs/r0.12.0/func.html#to-date ToDate的返回类型是DateTime对象。
要将chararray日期转换为任何其他格式,则必须在获取DateTime对象后使用ToString()函数。
输入:a.csv
30/06/2016 02:43:23 PM
01/12/2016 12:43:23 AM
猪脚本:
adataset = LOAD 'a.csv' USING PigStorage(',') AS (display_date:chararray);
req = FOREACH adataset GENERATE ToString(ToDate(display_date,'dd/MM/yyyy hh:mm:ss a'),'yyyy/MM/dd HH:mm:ss');
DUMP req;