Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El @dp.foreach_batch_sink() decorador define un receptor ForEachBatch, que procesa una secuencia como una serie de microprocesos que se controlan en Python con lógica personalizada. Se hace referencia al receptor como en target un flujo de anexión para escribir los datos transformados. Para obtener instrucciones conceptuales, consideraciones y ejemplos, consulte Uso de ForEachBatch para escribir en receptores de datos arbitrarios en canalizaciones.
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.
Parámetros
| Parámetro | Description |
|---|---|
| name | Opcional. Un nombre único para identificar el destino dentro de la canalización. El nombre de la UDF se usa por defecto cuando no se incluye. |
| batch_handler | Esta es la función definida por el usuario (UDF) a la que se llama para cada microproceso. |
| Df | DataFrame de Spark que contiene datos para el micro-lote actual. |
| batch_id | Identificador entero del micro-lote. Spark incrementa este identificador para cada intervalo de activación. Un batch_id de 0 representa el comienzo de una secuencia o el inicio de una actualización completa. El código foreach_batch_sink debe controlar correctamente una actualización completa para los orígenes de datos descendentes. Para obtener más información, consulte Actualización completa. |