disparador (DataStreamWriter)

Establece el desencadenador de la consulta de streaming. Si no se establece, la consulta se ejecuta lo más rápido posible, equivalente a processingTime='0 seconds'. Solo se puede establecer un parámetro de desencadenador a la vez.

Consulte Configurar intervalos del desencadenador de Structured Streaming.

Cómputo y ejecución en pipeline

En las tuberías Lakeflow, la tubería gestiona la ejecución de los flujos. Utiliza la configuración de ejecución de la tubería para controlar cuándo se procesan los datos de la canalización.

Cuando usas DataStreamWriter computación directamente en serverless para portátiles y trabajos, usa availableNow=True. El disparador por defecto, processingTime, continuous, y realTime no son compatibles con ese cálculo. Estas restricciones no se aplican a los modos de ejecución de pipelines sin servidor. Consulte Limitaciones de streaming.

Sintaxis

trigger(*, processingTime=None, once=None, continuous=None, availableNow=None, realTime=None)

Parámetros

Parámetro Tipo Descripción
processingTime str, opcional Cadena de intervalo de tiempo de procesamiento (por ejemplo, '5 seconds', '1 minute'). Ejecuta una consulta de microbatch periódicamente en función del tiempo de procesamiento.
once bool, opcional Si Truees , procesa solo un lote de datos y finaliza la consulta. Obsoleto en Databricks Runtime 11.3 LTS y superiores. Utilice availableNow=True en su lugar.
continuous str, opcional No soportado en Azure Databricks. Este parámetro permite el modo experimental de Procesamiento Continuo de Apache Spark, que difiere del modo de pipeline continuo. Utiliza el modo en tiempo real para consultas de streaming estructurado de baja latencia.
availableNow bool, opcional Si Truees , procesa todos los datos disponibles en varios lotes y finaliza la consulta.
realTime str, opcional Cadena de duración por lotes (por ejemplo, '5 minutes'). Procesa los registros a medida que llegan dentro de un lote de larga duración. El valor controla la duración del lote, no la latencia de procesamiento del registro. Consulte Modo en tiempo real en Structured Streaming.

Devoluciones

DataStreamWriter

Ejemplos

df = spark.readStream.format("rate").load()

Desencadenar la ejecución cada 5 segundos:

df.writeStream.trigger(processingTime='5 seconds')
# <...streaming.readwriter.DataStreamWriter object ...>

Procese todos los datos disponibles en varios lotes:

df.writeStream.trigger(availableNow=True)
# <...streaming.readwriter.DataStreamWriter object ...>

Configura el modo en tiempo real con lotes de cinco minutos. Los registros se procesan a medida que llegan durante cada lote. Utiliza un código, sumidero y tipo de cómputo soportados:

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 ...>