Pular para o conteúdo principal

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

func

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()