foreachBatch (DataStreamWriter)

Establece la salida de la consulta de streaming que se va a procesar mediante la función proporcionada. Solo se admite en modo de ejecución por lotes (es decir, cuando el desencadenador no es continuo). En cada microproceso, se llama a la función proporcionada con las filas de salida como dataframe y el identificador de lote. El identificador de lote se puede usar para desduplicar y escribir transaccionalmente la salida en sistemas externos.

Sintaxis

foreachBatch(func)

Parámetros

Parámetro Tipo Descripción
func invocable Función que toma un DataFrame y un identificador de lote (int) como entrada.

Devoluciones

DataStreamWriter

Notas

En el modo Spark Connect, la función proporcionada no tiene acceso a las variables definidas fuera de ella.

Ejemplos

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