私は豚のスクリプトの中でという形式でUTC時間までのUNIX時間を秒単位で変換しようとしています。私はToDate
とToString
を試しましたが、それは分かりません。Unix時間を秒単位でUTCに変換する方法YYYYMMDDHH in Pig?
サンプルデータ:1464797936
として出力期待:2016060116
私は豚のスクリプトの中でという形式でUTC時間までのUNIX時間を秒単位で変換しようとしています。私はToDate
とToString
を試しましたが、それは分かりません。Unix時間を秒単位でUTCに変換する方法YYYYMMDDHH in Pig?
サンプルデータ:1464797936
として出力期待:2016060116
この
ToString(ToDate(timestamp * 1000L), 'yyyyMMddHH')
ありがとうございます。 実行しようとすると、次のエラーが発生します。 out_data = FOREACH test_data GENERATE ToString(ToDate(ts * 1000L、 'yyyyMMdd')); tsがlongと定義されています ERROR 1045: org.apache.pig.builtin.ToDateの一致関数が複数ある、またはどれも適合しないと推論できませんでした。明示的なキャストを使用してください。 – user6655379
申し訳ございませんが、括弧がありません。 –
ありがとうございました。私はまだ実行しようとしている間、次のエラーが発生しています:out_data = FOREACH test_data GENERATE ToString(ToDate(ts * 1000L、 'yyyyMMdd')); BTW、tsは長く定義されています。 ERROR 1045:org.apache.pig.builtin.ToDateのマッチング関数を複数のものとして、またはどれも適合しないものとして推論できませんでした。明示的なキャストを使用してください。 – user6655379
この投稿は役立つかもしれない試してみてください - http://stackoverflow.com/questions/33757636/specify- timezone-in-todateunix-in-pig – Josh
私はしようとしましたが、それは現地時間であり、UTC時間ではありません。私のデータは複数のタイムゾーンから来て、それらはすべてm/cの現地時間に変換されます。 – user6655379