write (DataSourceStreamArrowWriter)

Zapíše iterátor objektů PyArrow RecordBatch do jímky streamování.

Tato metoda se volá u exekutorů k zápisu dat do jímky streamovaných dat v jednotlivých mikrobatchech. Přijímá iterátor objektů PyArrow RecordBatch a vrací jeden řádek představující zprávu potvrzení, nebo None pokud zpráva potvrzení neexistuje.

Ovladač shromažďuje potvrzené zprávy, pokud existuje, ze všech exekutorů a předává je metodě commit() , pokud všechny úlohy úspěšně běží. Pokud některý úkol selže, abort() metoda bude volána se shromážděnými zprávami potvrzení.

Syntaxe

write(iterator: Iterator[RecordBatch])

Parametry

Parameter Typ Description
iterator Iterátor[RecordBatch] Iterátor objektů PyArrow RecordBatch představující vstupní data.

Návraty

WriterCommitMessage

Serializovatelná potvrzovací zpráva.

Příklady

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)