2016-06-28 73 views
0

我一直在試圖轉換ISO日期格式('2016-06-23T20:04:41.914Z'),它是字符串到日期的數據類型。在Pig Docs中,有函數ToDate將字符串轉換爲Date(this) 。 所以我嘗試了不同的方式:從字符串到日期的ISO日期格式轉換是否會導致錯誤?

1.

b = FOREACH a GENERATE ToDate(status_date,'yyyy-MM-dd hh:mm:ss.SSS); 

錯誤:

Caused by: java.lang.IllegalArgumentException: Invalid format: "2016-06-23T20:04:41.914Z" is malformed at "T20:04:41.914Z"

2.

b = FOREACH a GENERATE ToDate(status_date); 

錯誤:

Caused by: java.lang.IllegalArgumentException: Invalid format: ""

3.

b = FOREACH a GENERATE ToDate(status_date,'yyyy-MM-ddThh:mm:ss.SSSZ'); 

錯誤:

Caused by: java.lang.IllegalArgumentException: Illegal pattern component: T

請讓我知道,如果我失去了一些東西,還是有比寫UDF和使用CONCAT以外的任何其他方式。 也讓我知道是否需要任何額外的信息。

+0

第二種方法應該可以工作,我在我的環境中嘗試了它的正常工作。你可以顯示status_date列的轉儲輸出 – pratiklodha

回答

1

第二種方法應該工作,你的數據有一些記錄有字段status_date爲空?

+0

嘿它工作,我的數據中有空值。 –

相關問題