gatilho (DataStreamWriter)
Define o gatilho para a consulta de transmissão. Se não for definido, a execução da consulta será a mais rápida possível, equivalente a processingTime='0 seconds'. Apenas um parâmetro de gatilho pode ser definido por vez.
Consulte Configurar intervalos de Trigger de Structured Streaming.
Execução de compute e pipeline
Nos LakeFlow Pipelines, o pipeline gerencia a execução de transmissão. Use as configurações de execução do pipeline para controlar quando os dados do pipeline são processados.
Quando você usa DataStreamWriter diretamente em compute serverless para notebooks e jobs, use availableNow=True. O trigger default, processingTime, continuous e realTime não são compatíveis com esse compute. Essas restrições não se aplicam aos modos de execução de pipeline serverless. Consulte Limitações de transmissão.
Sintaxe
trigger(*, processingTime=None, once=None, continuous=None, availableNow=None, realTime=None)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
| str, opcional | Um intervalo de tempo de processamento de strings (por exemplo, |
| booleano, opcional | Se |
| str, opcional | Não é compatível com o Databricks. Esse parâmetro habilita o modo experimental de processamento contínuo do Apache Spark, que difere do modo de pipeline contínuo. Use o modo em tempo real para queries de Structured Streaming de baixa latência. |
| booleano, opcional | Se |
| str, opcional | Uma string de duração de lote (por exemplo, |
Devoluções
DataStreamWriter
Exemplos
df = spark.readStream.format("rate").load()
Acionar a execução a cada 5 segundos:
df.writeStream.trigger(processingTime='5 seconds')
# <...streaming.readwriter.DataStreamWriter object ...>
Processar todos os dados disponíveis em vários lotes:
df.writeStream.trigger(availableNow=True)
# <...streaming.readwriter.DataStreamWriter object ...>
Configure o modo em tempo real com lotes de cinco minutos. Os registros são processados à medida que chegam durante cada lotes. Use um tipo compatível de fonte, destino e compute:
kafka_df = (spark.readStream
.format("kafka")
.option("kafka.bootstrap.servers", "<bootstrap-servers>")
.option("subscribe", "<input-topic>")
.load())
kafka_df.writeStream.trigger(realTime="5 minutes")
# <...streaming.readwriter.DataStreamWriter object ...>