foreachBatch (DataStreamWriter)
Define a saída da consulta de transmissão a ser processada usando a função fornecida. Compatível apenas com o modo de execução em micro-lotes (ou seja, quando o gatilho não é contínuo). Em cada microlote, a função fornecida é chamada com as linhas de saída em um DataFrame e o identificador do lote. O ID do lote pode ser usado para desduplicar e gravar a saída transacionalmente em sistemas externos.
Sintaxe
foreachBatch(func)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
| invocável | Uma função que recebe como entrada um DataFrame e um ID de lote (int). |
Devoluções
DataStreamWriter
Notas
No modo Spark Connect, a função fornecida não tem acesso a variáveis definidas fora dela.
Exemplos
Python
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()