foreachBatch (DataStreamWriter)

Define a saída da consulta de streaming para ser processada usando a função fornecida. Suportado apenas em modo de execução micro-batch (ou seja, quando o disparador não é contínuo). Em cada micro-batch, a função fornecida é chamada com as linhas de saída como DataFrame e o identificador de lote. O ID do lote pode ser usado para desduplicar e escrever transacionalmente a saída para sistemas externos.

Sintaxe

foreachBatch(func)

Parâmetros

Parâmetro Tipo Descrição
func Chamável Uma função que recebe um DataFrame e um ID de lote (int) como entrada.

Devoluções

DataStreamWriter

Notes

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