Aller au contenu principal

make_timestamp_ntz

Créez une date-heure locale à partir des champs années, mois, jours, heures, minutes et secondes. Vous pouvez également essayer de créer une date-heure locale à partir des champs de date et d'heure. Si la configuration spark.sql.ansi.enabled est fausse, la fonction renvoie NULL pour les entrées non valides. Autrement, cela générera une erreur.

Syntaxe

Python
import pyspark.sql.functions as sf

# From individual components
sf.make_timestamp_ntz(years=<years>, months=<months>, days=<days>, hours=<hours>, mins=<mins>, secs=<secs>)

# From date and time
sf.make_timestamp_ntz(date=<date>, time=<time>)

parameter

parameter

Type

Description

years

pyspark.sql.Column OU str

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.

months

pyspark.sql.Column OU str

Le mois de l'année à représenter, de 1 (janvier) à 12 (décembre). Requis lors de la création de Timestamp à partir de composants individuels. Doit être utilisé avec les années, les jours, les heures, les minutes et les secondes.

days

pyspark.sql.Column OU str

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.

hours

pyspark.sql.Column OU str

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.

mins

pyspark.sql.Column OU str

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.

secs

pyspark.sql.Column OU str

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.

date

pyspark.sql.Column OU str

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.

time

pyspark.sql.Column OU str

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.

parameter

Type

Description

years

pyspark.sql.Column OU str

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.

months

pyspark.sql.Column OU str

Le mois de l'année à représenter, de 1 (janvier) à 12 (décembre). Requis lors de la création de Timestamp à partir de composants individuels. Doit être utilisé avec les années, les jours, les heures, les minutes et les secondes.

days

pyspark.sql.Column OU str

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.

hours

pyspark.sql.Column OU str

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.

mins

pyspark.sql.Column OU str

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.

secs

pyspark.sql.Column OU str

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.

date

pyspark.sql.Column OU str

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.

time

pyspark.sql.Column OU str

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.ColumnUne nouvelle colonne qui contient une date et une heure locales.

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.

Python
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.make_timestamp_ntz('year', 'month', df.day, df.hour, df.min, df.sec)
).show(truncate=False)
Output
+----------------------------------------------------+
|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.

Python
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.make_timestamp_ntz(date=df.date, time=df.time)).show(truncate=False)
Output
+------------------------------+
|make_timestamp_ntz(date, time)|
+------------------------------+
|2014-12-28 06:30:45.887 |
+------------------------------+