tulis (DataSourceArrowWriter)

Menulis iterator objek PyArrow RecordBatch ke sink.

Metode ini dipanggil sekali pada setiap eksekutor untuk menulis data ke sumber data. Ini menerima iterator objek PyArrow RecordBatch dan mengembalikan satu baris yang mewakili pesan penerapan, atau None jika tidak ada pesan penerapan.

Driver mengumpulkan pesan penerapan, jika ada, dari semua pelaksana dan meneruskannya ke commit() metode jika semua tugas berhasil dijalankan. Jika ada tugas yang gagal, abort() metode akan dipanggil dengan pesan penerapan yang dikumpulkan.

Sintaksis

write(iterator: Iterator[RecordBatch])

Parameter-parameternya

Parameter Tipe Deskripsi
iterator Iterator[RecordBatch] Iterator objek PyArrow RecordBatch yang mewakili data input.

Pengembalian Barang

WriterCommitMessage

Pesan penerapan yang dapat diserialisasikan.

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)