我在pig中使用todate udf来生成datetime字段。输入格式为yyyy-mm-dd。todate(sch_trans_dt,'yyyy-mm-dd','etc/gmt+7')正在时间戳字段中生成冒号为2015-11-26t00:00.000-07:00的值是否有方法避免时间戳中的冒号,并将生成的值设置为2015-11-26t00:00.000-0700
ni65a41a1#
裁判:http://pig.apache.org/docs/r0.12.0/func.html#to-字符串todate函数的返回类型是datetime对象(iso8601格式)。要将其转换为定制的字符串格式,我们可以使用tostring函数,将所需的格式字符串作为第二个参数。Pig脚本:
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)
1条答案
按热度按时间ni65a41a1#
裁判:http://pig.apache.org/docs/r0.12.0/func.html#to-字符串
todate函数的返回类型是datetime对象(iso8601格式)。要将其转换为定制的字符串格式,我们可以使用tostring函数,将所需的格式字符串作为第二个参数。
Pig脚本:
输入:
输出: