foreachBatch (DataStreamWriter)

Définit la sortie de la requête de diffusion en continu à traiter à l’aide de la fonction fournie. Pris en charge uniquement en mode d’exécution de micro-lots (autrement dit, lorsque le déclencheur n’est pas continu). Dans chaque micro-lot, la fonction fournie est appelée avec les lignes de sortie en tant que DataFrame et l’identificateur de lot. L’ID de lot peut être utilisé pour dédupliquer et écrire transactionnellement la sortie dans des systèmes externes.

Syntaxe

foreachBatch(func)

Paramètres

Paramètre Type Description
func Callable Fonction qui prend un DataFrame et un ID de lot (int) comme entrée.

Retours

DataStreamWriter

Remarques

En mode Spark Connect, la fonction fournie n’a pas accès aux variables définies en dehors de celle-ci.

Exemples

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