from_utc_timestamp
タイムゾーンに依存しないタイムスタンプ (UTC タイムスタンプとして解釈される) を、指定されたタイムゾーンのタイムスタンプに変換します。これは、TIMESTAMP WITHOUT TIMEZONE をサポートするデータベースに共通する関数です。
ただし、Spark のタイムスタンプは Unix エポックからのマイクロ秒数を表すため、タイムゾーンに依存しません。したがって、Spark では、この関数はタイムスタンプの値を UTC タイムゾーンから指定されたタイムゾーンにシフトするだけです。
この関数は、入力がタイムゾーンを含む文字列の場合、予期しない結果を返す可能性があります。例:2018-03-13T06:18:23+00:00 、Spark は最初に文字列内のタイムゾーンに従って文字列をタイムスタンプにキャストし、次にセッションのローカル タイムゾーンに従ってタイムスタンプを文字列に変換して結果を表示するためです。
対応する Databricks SQL 関数については、 from_utc_timestamp関数を参照してください。
構文
from pyspark.databricks.sql import functions as dbf
dbf.from_utc_timestamp(timestamp=<timestamp>, tz=<tz>)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
|
| タイムスタンプを含む列 |
|
| 入力を調整するタイムゾーン ID の詳細を示す文字列。地域ベースのゾーン ID またはゾーン オフセットのいずれかの形式にする必要があります。地域 ID は、「America/Los_Angeles」のように「エリア/都市」の形式にする必要があります。ゾーンオフセットは「(+|-)HH」の形式で指定する必要があります'、たとえば '-08:00' または '+01:00' です。また、「UTC」と「Z」も「+00:00」のエイリアスとしてサポートされています。その他の短い名前はあいまいになる可能性があるため、使用はお勧めしません。 |
戻り値
pyspark.sql.Column: 指定されたタイムゾーンで表されるタイムスタンプ値。
例
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('1997-02-28 10:30:00', 'JST')], ['ts', 'tz'])
df.select('*', dbf.from_utc_timestamp('ts', 'PST')).show()
df.select('*', dbf.from_utc_timestamp(df.ts, df.tz)).show()