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.
Kategorisiere Zeilen in ein oder mehrere Zeitfenster, basierend auf einer Zeitstempel-spaltenangabe. Fensterstarts sind inklusive, aber die Fensterenden sind exklusiv, z. B. 12:05 im Fenster [12:05,12:10) , aber nicht in [12:00,12:05). Windows kann die Mikrosekundengenauigkeit unterstützen. Windows in der Reihenfolge der Monate wird nicht unterstützt.
Die Zeitspalte muss von pyspark.sql.types.TimestampType.
Die Dauer wird als Zeichenfolgen angegeben, z. B. "1 Sekunde", "1 Tag 12 Stunden", "2 Minuten". Gültige Intervallzeichenfolgen sind "week", "day", "hour", "minute", "second", "millisecond", "microsecond".
Wenn dies slideDuration nicht vorgesehen ist, werden die Fenster stürzen.
StartTime ist der Offset in Bezug auf 1970-01-01 00:00:00:00 UTC, mit dem Fensterintervalle gestartet werden sollen. Um z. B. stündliche Sturzfenster zu haben, die 15 Minuten hinter der Stunde beginnen, z. B. 12:15-13:15, 13:15-14:15... bereitstellen startTime als 15 minutes.
Bei der Ausgabespalte handelt es sich standardmäßig um eine Struktur namens "Window" mit den geschachtelten Spalten "start" und "end", wobei "start" und "end" angegeben pyspark.sql.types.TimestampTypesind.
Informationen zur entsprechenden Databricks SQL-Funktion finden Sie unter window Gruppierungsausdruck.
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.window(timeColumn=<timeColumn>, windowDuration=<windowDuration>, slideDuration=<slideDuration>, startTime=<startTime>)
Die Parameter
| Parameter | Typ | Description |
|---|---|---|
timeColumn |
pyspark.sql.Column oder str |
Die Spalte oder der Ausdruck, der als Zeitstempel für die Fensterung verwendet werden soll. Die Zeitspalte muss "TimestampType" oder "TimestampNTZType" sein. |
windowDuration |
literal string |
Eine Zeichenfolge, die die Breite des Fensters angibt, z. B. 10 minutes, 1 second. Überprüfen Sie org.apache.spark.unsafe.types.CalendarInterval auf gültige Dauer-IDs. Beachten Sie, dass die Dauer eine feste Zeitdauer ist und sich nicht je nach Kalender im Zeitverlauf unterscheidet. Bedeutet beispielsweise immer 1 day 86.400.000 Millisekunden, nicht ein Kalendertag. |
slideDuration |
literal string, optional |
Jedes Neue Fenster wird generiert slideDuration. Muss kleiner oder gleich dem windowDuration. Überprüfen Sie org.apache.spark.unsafe.types.CalendarInterval auf gültige Dauer-IDs. Diese Dauer ist ebenfalls absolut und variiert nicht je nach Kalender. |
startTime |
literal string, optional |
Der Offset im Hinblick auf 1970-01-01 00:00:00 UTC, mit dem Fensterintervalle gestartet werden sollen. Um z. B. stündliche Sturzfenster zu haben, die 15 Minuten hinter der Stunde beginnen, z. B. 12:15-13:15, 13:15-14:15... bereitstellen startTime als 15 minutes. |
Rückkehr
pyspark.sql.Column: die Spalte für berechnete Ergebnisse.
Examples
import datetime
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(datetime.datetime(2016, 3, 11, 9, 0, 7), 1)], ['dt', 'v'])
df2 = df.groupBy(dbf.window('dt', '5 seconds')).agg(dbf.sum('v'))
df2.show(truncate=False)
df2.printSchema()