try_make_timestamp_ntz
Essayez de créer une date et une heure locales à partir des champs années, mois, jours, heures, minutes, secondes. Vous pouvez également essayer de créer une date-heure locale à partir des champs de date et d'heure. La fonction renvoie NULL en cas d'entrées non valides.
Ajouté dans Databricks Runtime 16.1
Syntaxe
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>)
parameter
parameter | Type | Description |
|---|---|---|
|
| L'année à représenter, de 1 à 9999. Requis lors de la création de Timestamp à partir de composants individuels. Doit être utilisé avec les mois, les jours, les heures, les minutes et les secondes. |
|
| Le mois de l'année à représenter, de 1 (janvier) à 12 (décembre). Obligatoire lors de la création d'horodatages à partir de composants individuels. Doit être utilisé avec les années, les jours, les heures, les minutes et les secondes. |
|
| Le jour du mois à représenter, de 1 à 31. Requis lors de la création de Timestamp à partir de composants individuels. Doit être utilisé avec les années, les mois, les heures, les minutes et les secondes. |
|
| L’heure de la journée à représenter, de 0 à 23. Requis lors de la création de Timestamp à partir de composants individuels. Doit être utilisé avec les années, les mois, les jours, les minutes et les secondes. |
|
| La minute de l'heure à représenter, de 0 à 59. Requis lors de la création de Timestamp à partir de composants individuels. Doit être utilisé avec les années, les mois, les jours, les heures et les secondes. |
|
| La seconde de la minute et sa micro-fraction à représenter, de 0 à 60. La valeur peut être un nombre entier comme 13, ou une fraction comme 13,123. Si l'argument sec est égal à 60, le champ des secondes est mis à 0 et 1 minute est ajoutée au final Timestamp. Requis lors de la création de Timestamp à partir de composants individuels. Doit être utilisé avec les années, les mois, les jours, les heures et les minutes. |
|
| La date à représenter, au format DATE valide. Obligatoire lors de la création de Timestamp à partir des composants de date et d'heure. Doit être utilisé uniquement avec un parameter de temps. |
|
| L'heure à représenter, au format d'heure valide. Obligatoire lors de la création de Timestamp à partir des composants de date et d'heure. Doit être utilisé uniquement avec le parameter de date. |
Renvoie
pyspark.sql.Column: Une nouvelle colonne qui contient une date et une heure locales, ou NULL en cas d'erreur.
Exemples
Exemple 1 : Créer une date et une heure locales à partir des années, des mois, des jours, des heures, des minutes et des secondes.
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 |
+--------------------------------------------------------+
Exemple 2 : Créer une date-heure locale à partir de la date et de l’heure.
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 |
+----------------------------------+
Exemple 3 : Renvoie NULL en cas d'entrée invalide.
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 |
+--------------------------------------------------------+