try_make_timestamp_ntz
年、月、日、時間、分、秒のフィールドからローカルの日付と時刻を作成してみます。または、日付と時刻のフィールドからローカルの日付と時刻を作成してみてください。関数は無効な入力に対して NULL を返します。
構文
import pyspark.sql.functions as sf
# From individual components
sf.try_make_timestamp_ntz(years=<years>, months=<months>, days=<days>, hours=<hours>, mins=<mins>, secs=<secs>)
# From date and time
sf.try_make_timestamp_ntz(date=<date>, time=<time>)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
|
| 表現する年 (1 から 9999)。個々のコンポーネントからタイムスタンプを作成するときに必要です。月、日、時間、分、秒と一緒に使用する必要があります。 |
|
| 年内の月を表す。1 (1 月) から 12 (12 月) まで。個々のコンポーネントからタイムスタンプを作成するときに必要です。年、日、時間、分、秒と一緒に使用する必要があります。 |
|
| 表す月内の日付(1 から 31 まで)。個々のコンポーネントからタイムスタンプを作成するときに必要です。年、月、時間、分、秒と一緒に使用する必要があります。 |
|
| 表す時刻(0 から 23)。個々のコンポーネントからタイムスタンプを作成するときに必要です。年、月、日、分、秒と一緒に使用する必要があります。 |
|
| 0 から 59 までの分を表します。個々のコンポーネントからタイムスタンプを作成するときに必要です。年、月、日、時間、秒と一緒に使用する必要があります。 |
|
| 0 から 60 までの秒数とその小数部を表します。値は 13 のような整数、または 13.123 のような分数のいずれかになります。sec 引数が 60 に等しい場合、秒フィールドは 0 に設定され、最終タイムスタンプに 1 分が追加されます。個々のコンポーネントからタイムスタンプを作成するときに必要です。年、月、日、時間、分と一緒に使用する必要があります。 |
|
| 有効な DATE 形式で表す日付。日付と時刻のコンポーネントからタイムスタンプを作成するときに必要です。時間がある場合のみ使用する必要があります。 |
|
| 有効な TIME 形式で表す時間。日付と時刻のコンポーネントからタイムスタンプを作成するときに必要です。日付のみで使用する必要があります。 |
戻り値
pyspark.sql.Column: ローカルの日付と時刻を含む新しい列。エラーの場合は NULL になります。
例
例 1 : 年、月、日、時間、分、秒からローカルの日付と時刻を作成します。
import pyspark.sql.functions as sf
df = spark.createDataFrame([[2014, 12, 28, 6, 30, 45.887]],
['year', 'month', 'day', 'hour', 'min', 'sec'])
df.select(
sf.try_make_timestamp_ntz('year', 'month', df.day, df.hour, df.min, df.sec)
).show(truncate=False)
+--------------------------------------------------------+
|try_make_timestamp_ntz(year, month, day, hour, min, sec)|
+--------------------------------------------------------+
|2014-12-28 06:30:45.887 |
+--------------------------------------------------------+
例 2 : 日付と時刻からローカル日付と時刻を作成します。
import pyspark.sql.functions as sf
from datetime import date, time
df = spark.range(1).select(
sf.lit(date(2014, 12, 28)).alias("date"),
sf.lit(time(6, 30, 45, 887000)).alias("time")
)
df.select(sf.try_make_timestamp_ntz(date=df.date, time=df.time)).show(truncate=False)
+----------------------------------+
|try_make_timestamp_ntz(date, time)|
+----------------------------------+
|2014-12-28 06:30:45.887 |
+----------------------------------+
例 3 : 無効な入力の場合は NULL を返します。
import pyspark.sql.functions as sf
df = spark.createDataFrame([[2014, 13, 28, 6, 30, 45.887]],
['year', 'month', 'day', 'hour', 'min', 'sec'])
df.select(
sf.try_make_timestamp_ntz('year', 'month', df.day, df.hour, df.min, df.sec)
).show(truncate=False)
+--------------------------------------------------------+
|try_make_timestamp_ntz(year, month, day, hour, min, sec)|
+--------------------------------------------------------+
|NULL |
+--------------------------------------------------------+