2016-07-29 13 views
0

私は豚のスクリプトの中でという形式でUTC時間までのUNIX時間を秒単位で変換しようとしています。私はToDateToStringを試しましたが、それは分かりません。Unix時間を秒単位でUTCに変換する方法YYYYMMDDHH in Pig?

サンプルデータ:1464797936

として出力期待:2016060116

+0

この投稿は役立つかもしれない試してみてください - http://stackoverflow.com/questions/33757636/specify- timezone-in-todateunix-in-pig – Josh

+0

私はしようとしましたが、それは現地時間であり、UTC時間ではありません。私のデータは複数のタイムゾーンから来て、それらはすべてm/cの現地時間に変換されます。 – user6655379

答えて

0

この

ToString(ToDate(timestamp * 1000L), 'yyyyMMddHH') 
+0

ありがとうございます。 実行しようとすると、次のエラーが発生します。 out_data = FOREACH test_data GENERATE ToString(ToDate(ts * 1000L、 'yyyyMMdd')); tsがlongと定義されています ERROR 1045: org.apache.pig.builtin.ToDateの一致関数が複数ある、またはどれも適合しないと推論できませんでした。明示的なキャストを使用してください。 – user6655379

+0

申し訳ございませんが、括弧がありません。 –

+0

ありがとうございました。私はまだ実行しようとしている間、次のエラーが発生しています:out_data = FOREACH test_data GENERATE ToString(ToDate(ts * 1000L、 'yyyyMMdd')); BTW、tsは長く定義されています。 ERROR 1045:org.apache.pig.builtin.ToDateのマッチング関数を複数のものとして、またはどれも適合しないものとして推論できませんでした。明示的なキャストを使用してください。 – user6655379

関連する問題