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.
Écrit un itérateur d’objets PyArrow RecordBatch dans le récepteur de streaming.
Cette méthode est appelée sur les exécuteurs pour écrire des données dans le récepteur de données de streaming dans chaque microbatch. Il accepte un itérateur d’objets PyArrow RecordBatch et retourne une seule ligne représentant un message de validation, ou None s’il n’existe aucun message de validation.
Le pilote collecte les messages de validation, le cas échéant, de tous les exécuteurs et les transmet à la commit() méthode si toutes les tâches s’exécutent correctement. Si une tâche échoue, la abort() méthode est appelée avec les messages de validation collectés.
Syntaxe
write(iterator: Iterator[RecordBatch])
Paramètres
| Paramètre | Type | Description |
|---|---|---|
iterator |
Itérateur[RecordBatch] | Itérateur d’objets PyArrow RecordBatch représentant les données d’entrée. |
Retours
WriterCommitMessage
Message de validation sérialisable.
Exemples
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)