2013-05-29 17 views
4

我正在使用CurrentTime(),它是一種日期時間數據類型。不過,我需要它作爲chararray。我有以下幾點:豬 - 如何將日期時間轉換爲chararray

A = LOAD ... 
B = FOREACH A GENERATE CurrentTime() AS todaysDate; 

我已經試過各種方法,如以下幾點:

B = FOREACH A GENERATE (chararray)CurrentTime() AS todaysDate; 

不過,我總是得到錯誤1052:不能投以日期時間chararray。

任何人都知道我該怎麼做?順便說一句,我對豬很新。提前致謝!

回答

3

您需要創建一個custom UDF,它的轉換爲 (例如:參見CurrentTime()implementation)。或者,您也可以在類似主題上查看我的answer以瞭解變通方法。
如果您使用的是AWS,請使用它們的 UDF。

+0

最後我用你的解決方法在類似的話題你的答案中選擇你想要的格式。看起來很奇怪,沒有更簡單的方法。謝謝! – MariaS

6

我有一個類似的問題,我不想使用其他答案中描述的自定義UDF。我對豬很新,但它似乎是一個非常基本的操作來證明UDF的必要性。該命令對我的作品很大:

B = FOREACH A GENERATE ToString(yourdatetimeobject, 'yyyy-MM-dd\'T\'HH:mm:ssz') AS yourfieldname; 

您可以通過查看SimpleDateFormat javadoc

相關問題