trigger (DataStreamWriter)

Imposta il trigger per la query di streaming. Se non è impostata, la query viene eseguita il più velocemente possibile, equivalente a processingTime='0 seconds'. È possibile impostare un solo parametro di trigger alla volta.

Vedere Configurare gli intervalli di trigger del flusso strutturato.

Calcolo ed esecuzione della pipeline

Nelle pipeline Lakeflow, la pipeline gestisce l'esecuzione del flusso. Usa le impostazioni di esecuzione della pipeline per controllare quando vengono elaborati i dati della pipeline.

Quando usi DataStreamWriter direttamente il calcolo serverless per notebook e job, usa availableNow=True. Il trigger predefinito, processingTime, continuous, e realTime non sono supportati in quel calcolo. Queste restrizioni non si applicano alle modalità di esecuzione della pipeline serverless. Vedere Limitazioni dello streaming.

Sintassi

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

Parametri

Parametro Tipo Descrizione
processingTime str, facoltativo Stringa dell'intervallo di tempo di elaborazione , ad esempio '5 seconds', '1 minute'. Esegue periodicamente una query di microbatch in base al tempo di elaborazione.
once bool, facoltativo Se True, elabora un solo batch di dati e quindi termina la query. Deprecato in Databricks Runtime 11.3 LTS e superiori. Utilizzare invece availableNow=True.
continuous str, facoltativo Non supportato su Azure Databricks. Questo parametro consente la modalità sperimentale di Continuous Processing di Apache Spark, che differisce dalla modalità pipeline continua. Usa la modalità in tempo reale per query di streaming strutturato a bassa latenza.
availableNow bool, facoltativo Se True, elabora tutti i dati disponibili in più batch e quindi termina la query.
realTime str, facoltativo Stringa di durata del batch , ad esempio '5 minutes'. Elabora i documenti man mano che arrivano all'interno di un batch di lunga durata. Il valore controlla la durata del batch, non la latenza di elaborazione dei record. Consultare la Modalità in tempo reale nel Structured Streaming.

Restituzioni

DataStreamWriter

Examples

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

Attivare l'esecuzione ogni 5 secondi:

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

Elaborare tutti i dati disponibili in più batch:

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

Configura la modalità in tempo reale con batch da cinque minuti. I documenti vengono elaborati man mano che arrivano durante ogni lotto. Usa un sorgente, un sink e un tipo di calcolo supportati:

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