Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le @dp.foreach_batch_sink() décorateur définit un récepteur ForEachBatch, qui traite un flux en tant que série de micro-lots que vous gérez dans Python avec une logique personnalisée. Vous référencez le récepteur en tant que targetflux d’ajout pour écrire les données transformées. Pour obtenir des conseils conceptuels, des considérations et des exemples, consultez Utiliser ForEachBatch pour écrire dans des récepteurs de données arbitraires dans des pipelines.
Syntax
from pyspark import pipelines as dp
@dp.foreach_batch_sink(name="<name>")
def batch_handler(df, batch_id):
"""
Required:
- `df`: a Spark DataFrame representing the rows of this micro-batch.
- `batch_id`: unique integer ID for each micro-batch in the query.
"""
# Your custom write or transformation logic here
# Example:
# df.write.format("some-target-system").save("...")
#
# To access the sparkSession inside the batch handler, use df.sparkSession.
Parameters
| Paramètre | Description |
|---|---|
| name | facultatif. Nom unique permettant d’identifier le récepteur dans le pipeline. La valeur par défaut est le nom de la fonction UDF, lorsqu’elle n’est pas incluse. |
| batch_handler | Il s’agit de la fonction définie par l’utilisateur (UDF) appelée pour chaque micro-lot. |
| Df | DataFrame Spark contenant des données pour le micro-batch actuel. |
| batch_id | Identifiant entier du micro-lot. Spark incrémente cet ID pour chaque intervalle de déclencheur. Un batch_id de 0 représente le début d’un flux ou le commencement d’une actualisation complète. Le foreach_batch_sink code doit gérer correctement une actualisation complète pour les sources de données en aval. Pour plus d’informations, consultez Actualisation complète. |