foreachBatch (DataStreamWriter)

Hiermee stelt u de uitvoer van de streamingquery in die moet worden verwerkt met behulp van de opgegeven functie. Alleen ondersteund in de microbatchuitvoeringsmodus (dat wil gezegd, wanneer de trigger niet doorlopend is). In elke microbatch wordt de opgegeven functie aangeroepen met de uitvoerrijen als een DataFrame en de batch-id. De batch-id kan worden gebruikt voor het ontdubbelen en transactioneel schrijven van de uitvoer naar externe systemen.

Syntaxis

foreachBatch(func)

Parameterwaarden

Kenmerk Typ Beschrijving
func aanroepbaar Een functie die een DataFrame en een batch-id (int) als invoer gebruikt.

Retouren

DataStreamWriter

Aantekeningen

In de Spark Connect-modus heeft de opgegeven functie geen toegang tot variabelen die buiten de functie zijn gedefinieerd.

Examples

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