write (DataSourceArrowWriter)

Escreve um iterador de objetos PyArrow RecordBatch no lava-loiça.

Este método é chamado uma vez em cada executor para escrever dados na fonte de dados. Aceita um iterador de objetos PyArrow RecordBatch e devolve uma única linha que representa uma mensagem de commit, ou None se não houver mensagem de commit.

O driver recolhe mensagens de commit, se existirem, de todos os executores e passa-as para o commit() método se todas as tarefas correrem com sucesso. Se alguma tarefa falhar, o abort() método será chamado com as mensagens de commit recolhidas.

Sintaxe

write(iterator: Iterator[RecordBatch])

Parâmetros

Parâmetro Tipo Descrição
iterator Iterador[RecordBatch] Um iterador de objetos PyArrow RecordBatch que representam os dados de entrada.

Devoluções

WriterCommitMessage

Uma mensagem de commit serializável.

Exemplos

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)