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.
Escribe un iterador de objetos PyArrow RecordBatch en el receptor de streaming.
Este método se llama a los ejecutores para escribir datos en el receptor de datos de streaming en cada microbatch. Acepta un iterador de objetos PyArrow RecordBatch y devuelve una sola fila que representa un mensaje de confirmación o None si no hay ningún mensaje de confirmación.
El controlador recopila mensajes de confirmación, si los hay, de todos los ejecutores y los pasa al commit() método si todas las tareas se ejecutan correctamente. Si se produce un error en alguna tarea, se llamará al abort() método con los mensajes de confirmación recopilados.
Sintaxis
write(iterator: Iterator[RecordBatch])
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
iterator |
Iterator[RecordBatch] | Iterador de objetos PyArrow RecordBatch que representan los datos de entrada. |
Devoluciones
WriterCommitMessage
Un mensaje de confirmación serializable.
Ejemplos
from dataclasses import dataclass
@dataclass
class MyCommitMessage(WriterCommitMessage):
num_rows: int
batch_id: int
def write(self, iterator: Iterator["RecordBatch"]) -> "WriterCommitMessage":
total_rows = 0
for batch in iterator:
total_rows += len(batch)
return MyCommitMessage(num_rows=total_rows, batch_id=self.current_batch_id)