Compartilhar via


foreachBatch (DataStreamWriter)

Define a saída da consulta de streaming a ser processada usando a função fornecida. Com suporte apenas no modo de execução de microlote (ou seja, quando o gatilho não é contínuo). Em cada microlote, a função fornecida é chamada com as linhas de saída como um DataFrame e o identificador de lote. A ID do lote pode ser usada para deduplicar e gravar transacionalmente a saída em sistemas externos.

Sintaxe

foreachBatch(func)

Parâmetros

Parâmetro Tipo Descrição
func Callable Uma função que usa um DataFrame e uma ID do lote (int) como entrada.

Devoluções

DataStreamWriter

Observações

No modo Spark Connect, a função fornecida não tem acesso a variáveis definidas fora dela.

Exemplos

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