foreachBatch (DataStreamWriter)

Anger utdata för den strömmande fråga som ska bearbetas med hjälp av den angivna funktionen. Stöds endast i körningsläge för mikrobatch (d.s. när utlösaren inte är kontinuerlig). I varje mikrobatch anropas den angivna funktionen med utdataraderna som en DataFrame och batchidentifieraren. Batch-ID:t kan användas för att deduplicera och transaktionsmässigt skriva utdata till externa system.

Syntax

foreachBatch(func)

Parameters

Parameter Type Beskrivning
func Inlösbara En funktion som tar en DataFrame och ett batch-ID (int) som indata.

Retur

DataStreamWriter

Notes

I Spark Connect-läge har den angivna funktionen inte åtkomst till variabler som definierats utanför den.

Exempel

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