Apache Pig ToDate UDF时间戳格式

时间:2015-11-30 23:50:23

标签: apache-pig udf

我在pig中使用ToDate UDF来生成日期时间字段。 输入采用yyyy-MM-dd格式。 ToDate(sch_trans_dt,'yyyy-MM-dd','Etc / GMT + 7')正在生成时间戳字段中冒号的值为 2015-11-26T00:00:00.000-的 07:00 有没有办法在时间戳中避免冒号并将生成的值设为2015-11-26T00:00:00.000- 0700

1 个答案:

答案 0 :(得分:2)

参考: http://pig.apache.org/docs/r0.12.0/func.html#to-string

ToDate函数的返回类型是DateTime对象(ISO 8601格式)。要将此转换为自定义字符串格式,我们可以通过给出使用ToString函数 必需的格式字符串作为第二个参数。

猪脚本:

A = LOAD 'input.csv' AS (datestring:chararray);
B = FOREACH A GENERATE ToString(ToDate(datestring,'yyyy-MM-dd','Etc/GMT+7'),'yyyy-MM-dd\'T\'hh:ss:mm.SZ');
DUMP B;

输入:

2015-11-26

输出

(2015-11-26T12:00:00.0-0700)