書き込み(DataSourceArrowWriter)
PyArrow RecordBatchオブジェクトのイテレータをシンクに書き込みます。
このメソッドは、データをデータソースに書き込むために各エグゼキューターで 1 回呼び出されます。 PyArrow RecordBatchオブジェクトのイテレータを受け取り、コミットメッセージを表す単一の行を返します。コミットメッセージがない場合はNone返します。
ドライバーは、すべてのエグゼキューターからコミット メッセージ (存在する場合) を収集し、すべてのタスクが正常に実行された場合、それらをcommit()メソッドに渡します。 いずれかのタスクが失敗した場合、収集されたコミットメッセージとともにabort()メソッドが呼び出されます。
構文
write(iterator: Iterator[RecordBatch])
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
| イテレータ[レコードバッチ] | 入力データを表す PyArrow |
戻り値
WriterCommitMessage
シリアル化可能なコミットメッセージ。
例
Python
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)