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.
Hiermee wordt een sessievenster gegenereerd op basis van een tijdstempel waarin de kolom wordt opgegeven.
Sessievenster is een van dynamische vensters, wat betekent dat de lengte van het venster varieert op basis van de opgegeven invoer. De lengte van het sessievenster wordt gedefinieerd als 'de tijdstempel van de laatste invoer van de sessie + onderbrekingsduur', dus wanneer de nieuwe invoer is gebonden aan het huidige sessievenster, kan de eindtijd van het sessievenster worden uitgebreid op basis van de nieuwe invoer.
Windows kan microsecondenprecisie ondersteunen. Windows in de volgorde van maanden wordt niet ondersteund.
Voor een streamingquery kunt u de functie current_timestamp gebruiken om vensters te genereren op verwerkingstijd.
gapDuration wordt geleverd als tekenreeksen, bijvoorbeeld '1 seconde', '1 dag 12 uur', '2 minuten'. Geldige intervaltekenreeksen zijn 'week', 'dag', 'uur', 'minuut', 'seconde', 'milliseconden', 'microseconden'.
Het kan ook een kolom zijn die dynamisch kan worden geƫvalueerd om de duur van het gat te verkleinen op basis van de invoerrij.
De uitvoerkolom is standaard een struct met de naam 'session_window' met de geneste kolommen 'start' en 'end', waarbij 'start' en 'end' van zijn pyspark.sql.types.TimestampType.
Zie de groeperingsexpressie voor de bijbehorende Databricks SQL-functiesession_window.
Syntaxis
from pyspark.databricks.sql import functions as dbf
dbf.session_window(timeColumn=<timeColumn>, gapDuration=<gapDuration>)
Parameterwaarden
| Kenmerk | Typologie | Description |
|---|---|---|
timeColumn |
pyspark.sql.Column of str |
De kolomnaam of kolom die moet worden gebruikt als tijdstempel voor vensters op tijd. De tijdkolom moet van TimestampType of TimestampNTZType zijn. |
gapDuration |
pyspark.sql.Column of literal string |
Een letterlijke python-tekenreeks of -kolom die de time-out van de sessie aangeeft. Dit kan een statische waarde zijn, bijvoorbeeld 10 minutes, 1 secondof een expressie/UDF waarmee de duur van de tussenruimte dynamisch wordt opgegeven op basis van de invoerrij. |
Retouren
pyspark.sql.Column: de kolom voor berekende resultaten.
Voorbeelden
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()