Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Versuchen Sie, Zeitstempel aus Jahren, Monaten, Tagen, Stunden, Minen, Sek. und (optional) Zeitzonenfeldern zu erstellen. Alternativ können Sie auch zeitstempel aus Datums-, Uhrzeit- und (optional) Zeitzonenfeldern erstellen. Der Ergebnisdatentyp ist mit dem Wert der Konfiguration spark.sql.timestampTypekonsistent. Die Funktion gibt NULL für ungültige Eingaben zurück.
Syntax
import pyspark.sql.functions as sf
# From individual components
sf.try_make_timestamp(years=<years>, months=<months>, days=<days>, hours=<hours>, mins=<mins>, secs=<secs>)
# With timezone
sf.try_make_timestamp(years=<years>, months=<months>, days=<days>, hours=<hours>, mins=<mins>, secs=<secs>, timezone=<timezone>)
# From date and time
sf.try_make_timestamp(date=<date>, time=<time>)
# From date and time with timezone
sf.try_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 oder NULL enthält, wenn ein Fehler auftritt.
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.try_make_timestamp(df.year, df.month, df.day, 'hour', df.min, df.sec, 'tz')
).show(truncate=False)
+----------------------------------------------------+
|try_make_timestamp(year, month, day, hour, min, sec)|
+----------------------------------------------------+
|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, 'CET']],
['year', 'month', 'day', 'hour', 'min', 'sec', 'tz'])
df.select(
sf.try_make_timestamp('year', 'month', df.day, df.hour, df.min, df.sec)
).show(truncate=False)
+------------------------------------------------------+
|try_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.try_make_timestamp(date=df.date, time=df.time, timezone=df.tz)).show(truncate=False)
+----------------------------------------+
|try_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.try_make_timestamp(date=df.date, time=df.time)).show(truncate=False)
+------------------------------+
|try_make_timestamp(date, time)|
+------------------------------+
|2014-12-28 06:30:45.887 |
+------------------------------+
Beispiel 5: Gibt NULL für ungültige Eingaben zurück.
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('year', 'month', df.day, df.hour, df.min, df.sec)
).show(truncate=False)
+------------------------------------------------------+
|try_make_timestamp(year, month, day, hour, min, sec) |
+------------------------------------------------------+
|NULL |
+------------------------------------------------------+