GMTタイムスタンプ文字列の列をEasternタイムゾーンのタイムスタンプの列に変換しようとしています。私は夏時間を考慮に入れたい。Spark:GMTタイムスタンプをEasternに変換して夏時間を考慮に入れてください。
from pyspark.sql import functions as F
df2 = df1.withColumn('datetimeGMT', df1.myTimeColumnInGMT.cast('timestamp'))
df3 = df2.withColumn('datetimeEST', F.from_utc_timestamp(df2.datetimeGMT, "EST"))
しかし、時代はと変わらない:私はESTのタイムスタンプに文字列の列を変換する方法を考え出し
'2017-02-01T10:15:21+00:00'
:
タイムスタンプ文字列の私の列は次のようになり夏時間。タイムスタンプを変換して夏時間を考慮する別の関数や何かがありますか?
編集:私はそれを考え出したと思う。上記from_utc_timestampコールでは、私が代わりに「EST」の「アメリカ/ニューヨーク」を使用するために必要な:
df3 = df2.withColumn('datetimeET', F.from_utc_timestamp(df2.datetimeGMT, "America/New_York"))
はい、正しいです。タイムゾーン識別子のエリア/地域の形式を常に使用する必要があります。あなたが好きならこれであなた自身の質問に答えることができますが、この特定の点は何度も前に対処されています(しかし、おそらく火花に関してはそうではありません)。 –