CustomFormatToISO日期格式

时间:2015-03-09 18:54:13

标签: date format apache-pig

我使用内置piggybank.jarCustomFormatToISO将日期转换为ISO类型格式。 我不知道用于存储在time.txt中的案例的格式:

(Thu Jan 23 10:07:05 +0000 2014)
(Thu Jan 23 10:07:05 +0000 2014)
(Thu Jan 23 10:07:05 +0000 2014)
(Thu Jan 23 10:07:05 +0000 2014)
(Thu Jan 23 10:07:05 +0000 2014)
(Thu Jan 23 10:07:06 +0000 2014)
(Thu Jan 23 10:07:06 +0000 2014)

例如:

A = LOAD 'time.txt' as (t1);
B = FOREACH A GENERATE  CustomFormatToISO(t1, 'DY MON dd HH24:MI:SS YYYY');

显然给了我一个错误。

有人可以帮我了解如何将其转换为ISO格式或TIMESTAMP或其他更常见的日期格式吗?

1 个答案:

答案 0 :(得分:1)

我们为此内置了功能。看看参考文献中分享的链接。

对于共享的用例,我们可以使用以下猪脚本。

输入:a.csv:

Thu Jan 23 10:07:05 +0000 2014

猪脚本:

A = LOAD 'a.csv' AS (date_string:chararray);
B = FOREACH A GENERATE ToUnixTime(ToDate(date_string,'EEE MMM dd HH:mm:ss Z yyyy'));
DUMP B;

输出:B:

(1390471625)

参考文献:

  1. http://pig.apache.org/docs/r0.12.0/func.html#to-date
  2. http://pig.apache.org/docs/r0.12.0/func.html#to-unix-time