try_make_timestamp_ltz

Försök att skapa den aktuella tidsstämpeln med lokal tidszon från år, månader, dagar, timmar, minuter, sek och tidszonsfält. Funktionen returnerar NULL på ogiltiga indata.

Har lagts till i Databricks Runtime 16.1

Syntax

from pyspark.sql import functions as dbf

dbf.try_make_timestamp_ltz(years=<years>, months=<months>, days=<days>, hours=<hours>, mins=<mins>, secs=<secs>, timezone=<timezone>)

Parameterar

Parameter Typ Description
years pyspark.sql.Column eller str Året att representera, från 1 till 9999
months pyspark.sql.Column eller str Månaden för året att representera, från 1 (januari) till 12 (december)
days pyspark.sql.Column eller str Den dag i månaden som ska representeras, från 1 till 31
hours pyspark.sql.Column eller str Den timdag som ska representeras, från 0 till 23
mins pyspark.sql.Column eller str Den minut i timmen som ska representeras, från 0 till 59
secs pyspark.sql.Column eller str Den andra minuten och dess mikrofraktion som ska representeras, från 0 till 60. Värdet kan antingen vara ett heltal som 13 eller en bråktal som 13,123. Om sek-argumentet är lika med 60 anges fältet sekunder till 0 och 1 minut läggs till i den sista tidsstämpeln.
timezone pyspark.sql.Column eller str, optional Tidszonsidentifieraren. Till exempel CET, UTC och så vidare.

Retur

pyspark.sql.Column: En ny kolumn som innehåller en aktuell tidsstämpel eller NULL vid ett fel.

Examples

spark.conf.set("spark.sql.session.timeZone", "America/Los_Angeles")
from pyspark.sql import functions as dbf
df = spark.createDataFrame([[2014, 12, 28, 6, 30, 45.887, 'CET']],
['year', 'month', 'day', 'hour', 'min', 'sec', 'tz'])
df.select(
dbf.try_make_timestamp_ltz('year', 'month', df.day, df.hour, df.min, df.sec, 'tz')
).show(truncate=False)
df = spark.createDataFrame([[2014, 12, 28, 6, 30, 45.887, 'CET']],
['year', 'month', 'day', 'hour', 'min', 'sec', 'tz'])
df.select(
dbf.try_make_timestamp_ltz('year', 'month', df.day, df.hour, df.min, df.sec)
).show(truncate=False)
df = spark.createDataFrame([[2014, 13, 28, 6, 30, 45.887, 'CET']],
['year', 'month', 'day', 'hour', 'min', 'sec', 'tz'])
df.select(
dbf.try_make_timestamp_ltz('year', 'month', df.day, df.hour, df.min, df.sec)
).show(truncate=False)
spark.conf.unset("spark.sql.session.timeZone")