2015-11-30 40 views
0

我在豬中使用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-Apache Pig ToDate UDF時間戳格式

回答

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)