Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Compartimentez les lignes dans une ou plusieurs fenêtres temporelles données selon une colonne spécifiant un horodatage. Les démarrages de fenêtre sont inclusifs, mais les extrémités de la fenêtre sont exclusives, par exemple 12:05 seront dans la fenêtre [12:05,12:10) , mais pas dans [12:00,12:05). Windows peut prendre en charge la précision microseconde. Windows dans l’ordre des mois n’est pas pris en charge.
La colonne time doit être de pyspark.sql.types.TimestampType.
Les durées sont fournies sous forme de chaînes, par exemple « 1 seconde », « 1 jour 12 heures », « 2 minutes ». Les chaînes d’intervalle valides sont « week », « day », « hour », « minute », « second », « milliseconde », « microseconde ».
Si la slideDuration fenêtre n’est pas fournie, les fenêtres basculent.
StartTime est le décalage par rapport à 1970-01-01 00:00:00 UTC avec lequel démarrer les intervalles de fenêtre. Par exemple, afin d’avoir des fenêtres bascules horaires qui démarrent 15 minutes après l’heure, par exemple 12:15-13:15, 13:15-14:15... fournir startTime en tant que 15 minutes.
La colonne de sortie sera un struct appelé « fenêtre » par défaut avec les colonnes imbriquées « start » et « end », où « start » et « end » seront de pyspark.sql.types.TimestampType.
Pour la fonction Sql Databricks correspondante, consultez window l’expression de regroupement.
Syntaxe
from pyspark.databricks.sql import functions as dbf
dbf.window(timeColumn=<timeColumn>, windowDuration=<windowDuration>, slideDuration=<slideDuration>, startTime=<startTime>)
Paramètres
| Paramètre | Type | Descriptif |
|---|---|---|
timeColumn |
pyspark.sql.Column ou str |
Colonne ou expression à utiliser comme horodatage pour le fenêtrage par heure. La colonne d’heure doit être timestampType ou TimestampNTZType. |
windowDuration |
literal string |
Chaîne spécifiant la largeur de la fenêtre, par exemple 10 minutes, 1 second. Vérifiez les org.apache.spark.unsafe.types.CalendarInterval identificateurs de durée valides. Notez que la durée est une durée fixe et ne varie pas au fil du temps en fonction d’un calendrier. Par exemple, 1 day cela signifie toujours 86 400 000 millisecondes, et non un jour calendrier. |
slideDuration |
literal string, optional |
Une nouvelle fenêtre sera générée toutes les slideDuration. Doit être inférieur ou égal au windowDuration. Vérifiez les org.apache.spark.unsafe.types.CalendarInterval identificateurs de durée valides. Cette durée est également absolue et ne varie pas selon un calendrier. |
startTime |
literal string, optional |
Décalage par rapport à 1970-01-01 00:00:00 UTC avec lequel démarrer les intervalles de fenêtre. Par exemple, afin d’avoir des fenêtres bascules horaires qui démarrent 15 minutes après l’heure, par exemple 12:15-13:15, 13:15-14:15... fournir startTime en tant que 15 minutes. |
Retours
pyspark.sql.Column: colonne pour les résultats calculés.
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()