Condividi tramite


foreachBatch (DataStreamWriter)

Imposta l'output della query di streaming da elaborare usando la funzione fornita. Supportato solo in modalità di esecuzione micro batch, ovvero quando il trigger non è continuo. In ogni micro-batch, la funzione fornita viene chiamata con le righe di output come dataframe e l'identificatore del batch. L'ID batch può essere usato per deduplicare e scrivere in modo transazionale l'output in sistemi esterni.

Sintassi

foreachBatch(func)

Parametri

Parametro Tipo Descrizione
func Callable Funzione che accetta un dataframe e un ID batch (int) come input.

Restituzioni

DataStreamWriter

Note

In modalità Spark Connect la funzione fornita non ha accesso alle variabili definite al di fuori di esso.

Examples

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

def func(batch_df, batch_id):
    batch_df.collect()

q = df.writeStream.foreachBatch(func).start()
time.sleep(3)
q.stop()