try_make_timestamp_ltz
Essayez de créer le Timestamp actuel avec le fuseau horaire local à partir des champs années, mois, jours, heures, minutes, secondes et fuseau horaire. La fonction renvoie NULL pour les entrées non valides.
Ajouté dans Databricks Runtime 16.1
Syntaxe
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>)
parameter
parameter | Type | Description |
|---|---|---|
|
| L'année à représenter, de 1 à 9999 |
|
| Le mois de l'année à représenter, de 1 (janvier) à 12 (décembre). |
|
| Le jour du mois à représenter, de 1 à 31 |
|
| L'heure de la journée à représenter, de 0 à 23 |
|
| La minute de l'heure à représenter, de 0 à 59 |
|
| La seconde de la minute et sa micro-fraction à représenter, de 0 à 60. La valeur peut être soit un entier comme 13, soit une fraction comme 13,123. Si l'argument sec est égal à 60, le champ des secondes est défini sur 0 et 1 minute est ajoutée au timestamp final. |
|
| L'identifiant du fuseau horaire. Par exemple : CET, UTC, etc. |
Renvoie
pyspark.sql.Column: une nouvelle colonne qui contient un Timestamp actuel, ou NULL en cas d'erreur.
Exemples
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")