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.
Generiert ein Sitzungsfenster anhand eines Zeitstempels, der eine spezifische Spalte vorgibt.
Das Sitzungsfenster ist eines der dynamischen Fenster, was bedeutet, dass die Fensterlänge je nach den angegebenen Eingaben variiert. Die Länge des Sitzungsfensters wird als "Zeitstempel der letzten Eingabe der Sitzung + Abstandsdauer" definiert. Wenn die neuen Eingaben an das aktuelle Sitzungsfenster gebunden sind, kann die Endzeit des Sitzungsfensters entsprechend den neuen Eingaben erweitert werden.
Windows kann die Mikrosekundengenauigkeit unterstützen. Windows in der Reihenfolge der Monate wird nicht unterstützt.
Bei einer Streamingabfrage können Sie die Funktion current_timestamp verwenden, um Fenster zur Verarbeitungszeit zu generieren.
gapDuration wird als Zeichenfolgen bereitgestellt, z. B. "1 Sekunde", "1 Tag 12 Stunden", "2 Minuten". Gültige Intervallzeichenfolgen sind "week", "day", "hour", "minute", "second", "millisecond", "microsecond".
Es kann auch eine Spalte sein, die basierend auf der Eingabezeile dynamisch ausgewertet werden kann, um die Dauer der Lücke zu verringern.
Die Ausgabespalte ist standardmäßig eine Struktur namens "session_window" mit den geschachtelten Spalten "start" und "end", wobei "start" und "end" verwendet pyspark.sql.types.TimestampTypewerden.
Informationen zur entsprechenden Databricks SQL-Funktion finden Sie unter session_window Gruppierungsausdruck.
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.session_window(timeColumn=<timeColumn>, gapDuration=<gapDuration>)
Die Parameter
| Parameter | Typ | Description |
|---|---|---|
timeColumn |
pyspark.sql.Column oder str |
Der Spaltenname oder die Spalte, die als Zeitstempel für die Fensterung verwendet werden soll. Die Zeitspalte muss "TimestampType" oder "TimestampNTZType" sein. |
gapDuration |
pyspark.sql.Column oder literal string |
Ein Python-Zeichenfolgenliteral oder eine Spalte, die das Timeout der Sitzung angibt. Dabei kann es sich um statische Werte, z. B. 10 minutes1 second, oder um einen Ausdruck/UDF handeln, der die Dauer der Lücke basierend auf der Eingabezeile dynamisch angibt. |
Rückkehr
pyspark.sql.Column: die Spalte für berechnete Ergebnisse.
Examples
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([('2016-03-11 09:00:07', 1)], ['dt', 'v'])
df2 = df.groupBy(dbf.session_window('dt', '5 seconds')).agg(dbf.sum('v'))
df2.show(truncate=False)
df2.printSchema()