我有一个日期字段,我试图通过日期看起来像这样将其转换为“ToDate”
2015-03-28@18:21:18.
ToDate(REPLACE(REPLACE(Date_Time, '@', ' '),'.',''),'yyyy-MM-dd HH:mm:ss')
工作死了,给了我这个错误;后端错误:无效格式:“”
我已经有了处理 NULL 值的过滤器,以及 SIZE > 0 的空白。
我有一个日期字段,我试图通过日期看起来像这样将其转换为“ToDate”
2015-03-28@18:21:18.
ToDate(REPLACE(REPLACE(Date_Time, '@', ' '),'.',''),'yyyy-MM-dd HH:mm:ss')
工作死了,给了我这个错误;后端错误:无效格式:“”
我已经有了处理 NULL 值的过滤器,以及 SIZE > 0 的空白。
ToDate 函数的返回类型是 DateTime 对象。您不需要替换 @, 。带有''(空格)的字符。
参考: http: //pig.apache.org/docs/r0.12.0/func.html#to-date,详情
输入:a.csv
2015-03-28@18:21:18.
猪脚本:
A = LOAD 'a.csv' AS (dateValue:chararray);
B = FOREACH A GENERATE ToDate(dateValue,'yyyy-MM-dd@HH:mm:ss.');
DUMP B;
输出 :
(2015-03-28T18:21:18.000-07:00)
我们还有一个重载的 ToDate 函数,我们可以在其中指定时区。
例如:将时区指定为 GMT
B = FOREACH A GENERATE ToDate(dateValue,'yyyy-MM-dd@HH:mm:ss.','GMT');
DUMP B;
输出 2:
(2015-03-28T18:21:18.000Z)