Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Tijdstempel maken op basis van jaren, maanden, dagen, uren, mins, secs en (optioneel) tijdzonevelden. U kunt ook tijdstempel maken op basis van datum-, tijd- en (optionele) tijdzonevelden. Het resultaatgegevenstype is consistent met de waarde van de configuratie spark.sql.timestampType. Als de configuratie spark.sql.ansi.enabled onwaar is, retourneert de functie NULL op ongeldige invoer. Anders wordt er een fout gegenereerd.
Voor de overeenkomstige Databricks SQL-functie, zie de make_timestamp functie.
Syntaxis
import pyspark.sql.functions as sf
# From individual components
sf.make_timestamp(years=<years>, months=<months>, days=<days>, hours=<hours>, mins=<mins>, secs=<secs>)
# With timezone
sf.make_timestamp(years=<years>, months=<months>, days=<days>, hours=<hours>, mins=<mins>, secs=<secs>, timezone=<timezone>)
# From date and time
sf.make_timestamp(date=<date>, time=<time>)
# From date and time with timezone
sf.make_timestamp(date=<date>, time=<time>, timezone=<timezone>)
Parameterwaarden
| Kenmerk | Typologie | Description |
|---|---|---|
years |
pyspark.sql.Column of str |
Het jaar dat moet worden vertegenwoordigd, van 1 tot 9999. Vereist bij het maken van tijdstempels van afzonderlijke onderdelen. Moet worden gebruikt met maanden, dagen, uren, mins en sec. |
months |
pyspark.sql.Column of str |
De maand van het jaar die moet worden aangegeven, van 1 (januari) tot en met 12 (december). Vereist bij het maken van tijdstempels van afzonderlijke onderdelen. Moet worden gebruikt met jaren, dagen, uren, mins en sec. |
days |
pyspark.sql.Column of str |
De dag van de maand die moet worden aangegeven, van 1 tot en met 31. Vereist bij het maken van tijdstempels van afzonderlijke onderdelen. Moet worden gebruikt met jaren, maanden, uren, mins en sec. |
hours |
pyspark.sql.Column of str |
Het uur van de dag dat moet worden vertegenwoordigd, van 0 tot 23. Vereist bij het maken van tijdstempels van afzonderlijke onderdelen. Moet worden gebruikt met jaren, maanden, dagen, mins en sec. |
mins |
pyspark.sql.Column of str |
De minuut van het uur die moet worden weergegeven, van 0 tot 59. Vereist bij het maken van tijdstempels van afzonderlijke onderdelen. Moet worden gebruikt met jaren, maanden, dagen, uren en sec. |
secs |
pyspark.sql.Column of str |
De seconde van minuut en de microfractie die moet worden vertegenwoordigd, van 0 tot 60. De waarde kan een geheel getal zijn, zoals 13, of een breuk zoals 13,123. Als het argument sec gelijk is aan 60, wordt het veld seconden ingesteld op 0 en 1 minuut toegevoegd aan de laatste tijdstempel. Vereist bij het maken van tijdstempels van afzonderlijke onderdelen. Moet worden gebruikt met jaren, maanden, dagen, uren en min. |
timezone |
pyspark.sql.Column of str |
Optional. De tijdzone-id. Bijvoorbeeld CET, UTC en enzovoort. |
date |
pyspark.sql.Column of str |
De datum die moet worden weergegeven, in geldige DATUMnotatie. Vereist bij het maken van tijdstempels van datum- en tijdonderdelen. Mag alleen worden gebruikt met tijdparameter. |
time |
pyspark.sql.Column of str |
De tijd die moet worden weergegeven, in een geldige TIJD-indeling. Vereist bij het maken van tijdstempels van datum- en tijdonderdelen. Mag alleen worden gebruikt met de datumparameter. |
Retouren
pyspark.sql.Column: Een nieuwe kolom die een tijdstempel bevat.
Voorbeelden
Voorbeeld 1: Tijdstempel maken van jaren, maanden, dagen, uren, mins, secs en tijdzone.
import pyspark.sql.functions as sf
df = spark.createDataFrame([[2014, 12, 28, 6, 30, 45.887, 'CET']],
['year', 'month', 'day', 'hour', 'min', 'sec', 'tz'])
df.select(
sf.make_timestamp(df.year, df.month, df.day, 'hour', df.min, df.sec, 'tz')
).show(truncate=False)
+----------------------------------------------------+
|make_timestamp(year, month, day, hour, min, sec, tz)|
+----------------------------------------------------+
|2014-12-27 21:30:45.887 |
+----------------------------------------------------+
Voorbeeld 2: Tijdstempel maken van jaren, maanden, dagen, uren, mins en sec (zonder tijdzone).
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('year', 'month', df.day, df.hour, df.min, df.sec)
).show(truncate=False)
+--------------------------------------------------+
|make_timestamp(year, month, day, hour, min, sec) |
+--------------------------------------------------+
|2014-12-28 06:30:45.887 |
+--------------------------------------------------+
Voorbeeld 3: Tijdstempel van datum en tijd maken met tijdzone.
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"),
sf.lit("CET").alias("tz")
)
df.select(sf.make_timestamp(date=df.date, time=df.time, timezone=df.tz)).show(truncate=False)
+------------------------------------+
|make_timestamp(date, time, timezone)|
+------------------------------------+
|2014-12-27 21:30:45.887 |
+------------------------------------+
Voorbeeld 4: Tijdstempel van datum en tijd maken (zonder tijdzone).
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(date=df.date, time=df.time)).show(truncate=False)
+--------------------------+
|make_timestamp(date, time)|
+--------------------------+
|2014-12-28 06:30:45.887 |
+--------------------------+