make_timestamp_ltz
Créez le Timestamp actuel avec le fuseau horaire local à partir des champs d'années, de mois, de jours, d'heures, de minutes, de secondes et de fuseau horaire. Si la configuration spark.sql.ansi.enabled est fausse, la fonction renvoie NULL en cas d'entrées non valides. Sinon, il renverra une erreur à la place.
Syntaxe
from pyspark.sql import functions as dbf
dbf.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.
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.make_timestamp_ltz(df.year, df.month, '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.make_timestamp_ltz(df.year, df.month, 'day', df.hour, df.min, df.sec)
).show(truncate=False)
spark.conf.unset("spark.sql.session.timeZone")