Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erstellen Sie Zeitstempel aus Jahren, Monaten, Tagen, Stunden, Minen, Sek. und (optional) Zeitzonenfeldern. Alternativ können Sie zeitstempel aus Datums-, Uhrzeit- und (optional) Zeitzonenfeldern erstellen. Der Ergebnisdatentyp ist mit dem Wert der Konfiguration spark.sql.timestampTypekonsistent. Wenn die Konfiguration spark.sql.ansi.enabled falsch ist, gibt die Funktion NULL für ungültige Eingaben zurück. Andernfalls wird stattdessen ein Fehler ausgelöst.
Die entsprechende Databricks SQL-Funktion finden Sie unter make_timestamp Funktion.
Syntax
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>)
Die Parameter
| Parameter | Typ | Description |
|---|---|---|
years |
pyspark.sql.Column oder str |
Das zu vertretende Jahr von 1 bis 9999. Erforderlich beim Erstellen von Zeitstempeln aus einzelnen Komponenten. Muss mit Monaten, Tagen, Stunden, Minen und Sek. verwendet werden. |
months |
pyspark.sql.Column oder str |
Der Monat des Jahres, der von 1 (Januar) bis 12 (Dezember) dargestellt werden soll. Erforderlich beim Erstellen von Zeitstempeln aus einzelnen Komponenten. Muss mit Jahren, Tagen, Stunden, Minen und Sek. verwendet werden. |
days |
pyspark.sql.Column oder str |
Der tag-of-month-Wert, der von 1 bis 31 dargestellt werden soll. Erforderlich beim Erstellen von Zeitstempeln aus einzelnen Komponenten. Muss mit Jahren, Monaten, Stunden, Minen und Sek. verwendet werden. |
hours |
pyspark.sql.Column oder str |
Die von 0 bis 23 anzuzeigende Tagesstunde. Erforderlich beim Erstellen von Zeitstempeln aus einzelnen Komponenten. Muss mit Jahren, Monaten, Tagen, Minen und Sek. verwendet werden. |
mins |
pyspark.sql.Column oder str |
Die Minute der Stunde, die von 0 bis 59 dargestellt werden soll. Erforderlich beim Erstellen von Zeitstempeln aus einzelnen Komponenten. Muss mit Jahren, Monaten, Tagen, Stunden und Sek. verwendet werden. |
secs |
pyspark.sql.Column oder str |
Die zweite Minute und deren Mikrofraktion, die dargestellt werden soll, von 0 bis 60. Der Wert kann eine ganze Zahl wie 13 oder eine Bruchzahl wie 13,123 sein. Wenn das Argument sec gleich 60 ist, wird das Sekundenfeld auf 0 und 1 Minute zum letzten Zeitstempel hinzugefügt. Erforderlich beim Erstellen von Zeitstempeln aus einzelnen Komponenten. Muss mit Jahren, Monaten, Tagen, Stunden und Min. verwendet werden. |
timezone |
pyspark.sql.Column oder str |
Wahlfrei. Der Zeitzonenbezeichner. Beispiel: CET, UTC und etc. |
date |
pyspark.sql.Column oder str |
Das zu darstellende Datum im gültigen DATUMsformat. Erforderlich beim Erstellen von Zeitstempeln aus Datums- und Uhrzeitkomponenten. Darf nur mit dem Zeitparameter verwendet werden. |
time |
pyspark.sql.Column oder str |
Die Zeit, die im gültigen TIME-Format dargestellt werden soll. Erforderlich beim Erstellen von Zeitstempeln aus Datums- und Uhrzeitkomponenten. Darf nur mit dem Datumsparameter verwendet werden. |
Rückkehr
pyspark.sql.Column: Eine neue Spalte, die einen Zeitstempel enthält.
Examples
Beispiel 1: Zeitstempel aus Jahren, Monaten, Tagen, Stunden, Minen, Sek. und Zeitzone erstellen.
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 |
+----------------------------------------------------+
Beispiel 2: Zeitstempel von Jahren, Monaten, Tagen, Stunden, Minen und Sek. (ohne Zeitzone).
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 |
+--------------------------------------------------+
Beispiel 3: Festlegen des Zeitstempels von Datum und Uhrzeit mit Zeitzone.
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 |
+------------------------------------+
Beispiel 4: Festlegen des Zeitstempels von Datum und Uhrzeit (ohne Zeitzone).
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 |
+--------------------------+