我試圖在豬腳本中以YYYYMMDDHH
的格式將秒數轉換爲UTC時間。我試過ToDate
和ToString
,但無法弄清楚。如何將豬中的unix時間以秒爲單位轉換爲UTC時間格式YYYYMMDDHH?
樣本數據:1464797936
期待輸出:2016060116
我試圖在豬腳本中以YYYYMMDDHH
的格式將秒數轉換爲UTC時間。我試過ToDate
和ToString
,但無法弄清楚。如何將豬中的unix時間以秒爲單位轉換爲UTC時間格式YYYYMMDDHH?
樣本數據:1464797936
期待輸出:2016060116
試試這個
ToString(ToDate(timestamp * 1000L), 'yyyyMMddHH')
謝謝。 我在嘗試運行時遇到以下錯誤: out_data = FOREACH test_data GENERATE ToString(ToDate(ts * 1000L,'yyyyMMdd')); ts定義爲長 錯誤1045: 無法推斷org.apache.pig.builtin.ToDate的匹配函數爲多個或不匹配。請使用明確的演員。 – user6655379
對不起,添加缺少的括號 –
謝謝。我試圖運行時仍然出現以下錯誤:out_data = FOREACH test_data GENERATE ToString(ToDate(ts * 1000L,'yyyyMMdd')); BTW,ts定義爲long。錯誤1045:無法推斷org.apache.pig.builtin.ToDate的匹配函數爲多個或不匹配。請使用明確的演員。 – user6655379
這篇文章可能會有所幫助 - http://stackoverflow.com/questions/33757636/specify- timezone-in-todateunix-in-pig – Josh
我試過了,但它給了我本地時間而不是UTC時間。我的數據來自多個時區,它們都轉換爲m/c的本地時間。 – user6655379