メインコンテンツまでスキップ

書き込み(DataSourceArrowWriter)

PyArrow RecordBatchオブジェクトのイテレータをシンクに書き込みます。

このメソッドは、データをデータソースに書き込むために各エグゼキューターで 1 回呼び出されます。 PyArrow RecordBatchオブジェクトのイテレータを受け取り、コミットメッセージを表す単一の行を返します。コミットメッセージがない場合はNone返します。

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

構文

write(iterator: Iterator[RecordBatch])

パラメーター

パラメーター

Type

説明

iterator

イテレータ[レコードバッチ]

入力データを表す PyArrow RecordBatchオブジェクトのイテレータ。

戻り値

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)
このページの見出し