schrijven (DataSourceArrowWriter)

Hiermee schrijft u een iterator van PyArrow-objecten RecordBatch naar de sink.

Deze methode wordt eenmaal aangeroepen voor elke uitvoerder om gegevens naar de gegevensbron te schrijven. Het accepteert een iterator van PyArrow-objecten RecordBatch en retourneert één rij die een doorvoerbericht vertegenwoordigt, of None als er geen doorvoerbericht is.

Het stuurprogramma verzamelt doorvoerberichten van alle uitvoerders en geeft deze door aan de commit() methode als alle taken zijn uitgevoerd. Als een taak mislukt, wordt de abort() methode aangeroepen met de verzamelde doorvoerberichten.

Syntaxis

write(iterator: Iterator[RecordBatch])

Parameterwaarden

Kenmerk Typ Beschrijving
iterator Iterator[RecordBatch] Een iterator van PyArrow-objecten RecordBatch die de invoergegevens vertegenwoordigen.

Retouren

WriterCommitMessage

Een serialiseerbare doorvoeringsbericht.

Examples

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)