write (DataSourceArrowWriter)

Skriver en iterator av PyArrow-objekt RecordBatch till mottagaren.

Den här metoden anropas en gång på varje köre för att skriva data till datakällan. Den accepterar en iterator av PyArrow-objekt RecordBatch och returnerar en enda rad som representerar ett incheckningsmeddelande, eller None om det inte finns något incheckningsmeddelande.

Drivrutinen samlar in eventuella incheckningsmeddelanden från alla utförare och skickar dem till commit() metoden om alla aktiviteter körs korrekt. Om någon uppgift misslyckas abort() anropas metoden med de insamlade incheckningsmeddelandena.

Syntax

write(iterator: Iterator[RecordBatch])

Parameters

Parameter Type Beskrivning
iterator Iterator[RecordBatch] En iterator av PyArrow-objekt RecordBatch som representerar indata.

Retur

WriterCommitMessage

Ett serialiserbart incheckningsmeddelande.

Exempel

from dataclasses import dataclass

@dataclass
class MyCommitMessage(WriterCommitMessage):
    num_rows: 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)