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)