write (DataSourceArrowWriter)

PyArrow RecordBatch オブジェクトの反復子をシンクに書き込みます。

このメソッドは、データ ソースにデータを書き込む各 Executor で 1 回呼び出されます。 PyArrow RecordBatch オブジェクトの反復子を受け取り、コミット メッセージを表す 1 つの行を返します。コミット メッセージがない場合は None します。

ドライバーは、すべての Executor からコミット メッセージ (存在する場合) を収集し、すべてのタスクが正常に実行された場合は commit() メソッドに渡します。 タスクが失敗した場合、 abort() メソッドは収集されたコミット メッセージと共に呼び出されます。

構文

write(iterator: Iterator[RecordBatch])

パラメーター

パラメーター タイプ 説明
iterator Iterator[RecordBatch] 入力データを表す PyArrow RecordBatch オブジェクトの反復子。

返品

WriterCommitMessage

シリアル化可能なコミット メッセージ。

例示

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)