Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Agrupe as linhas em uma ou mais janelas temporais usando uma coluna que especifica um carimbo de data/hora. Os inícios das janelas são inclusivos, mas as extremidades das janelas são exclusivas, por exemplo, 12:05 estarão na janela [12:05,12:10) mas não em [12:00,12:05). O Windows pode suportar precisão em microssegundos. As janelas na ordem de meses não são suportadas.
A coluna de tempo deve ser de pyspark.sql.types.TimestampType.
As durações são fornecidas como sequências, por exemplo, '1 segundo', '1 dia, 12 horas', '2 minutos'. As cadeias de intervalos válidas são 'semana', 'dia', 'hora', 'minuto', 'segundo', 'milissegundo', 'microssegundo'.
Se não slideDuration for fornecida, as janelas serão janelas que caem.
O startTime é o deslocamento em relação às 00:00-01-1970 00:00:00 UTC com o qual iniciar os intervalos da janela. Por exemplo, para ter janelas de tumbling horárias que começam 15 minutos depois da hora, por exemplo 12:15-13:15, 13:15-14:15... fornece startTime como 15 minutes.
A coluna de saída será uma estrutura chamada 'window' por defeito, com as colunas aninhadas 'start' e 'end', onde 'start' e 'end' serão de pyspark.sql.types.TimestampType.
Para a função SQL correspondente do Databricks, vejawindow expressão de agrupamento.
Sintaxe
from pyspark.databricks.sql import functions as dbf
dbf.window(timeColumn=<timeColumn>, windowDuration=<windowDuration>, slideDuration=<slideDuration>, startTime=<startTime>)
Parâmetros
| Parâmetro | Tipo | Description |
|---|---|---|
timeColumn |
pyspark.sql.Column ou str |
A coluna ou a expressão a usar como carimbo temporal para a janela por tempo. A coluna de tempo deve ser de TimestampType ou TimestampNTZType. |
windowDuration |
literal string |
Uma cadeia que especifica a largura da janela, por exemplo, 10 minutes. 1 second Verifique org.apache.spark.unsafe.types.CalendarInterval identificadores de duração válidos. Note-se que a duração é uma duração fixa e não varia ao longo do tempo segundo um calendário. Por exemplo, 1 day significa sempre 86.400.000 milissegundos, não um dia civil. |
slideDuration |
literal string, optional |
Uma nova janela será gerada a cada slideDuration. Deve ser menor ou igual a .windowDuration Verifique org.apache.spark.unsafe.types.CalendarInterval identificadores de duração válidos. Esta duração é igualmente absoluta e não varia de acordo com um calendário. |
startTime |
literal string, optional |
O deslocamento em relação a 1970-01-01 00:00:00 UTC para iniciar intervalos de janela. Por exemplo, para ter janelas de tumbling horárias que começam 15 minutos depois da hora, por exemplo 12:15-13:15, 13:15-14:15... fornece startTime como 15 minutes. |
Devoluções
pyspark.sql.Column: a coluna para resultados calculados.
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()