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

書き込み(DataSourceStreamArrowWriter)

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

このメソッドは、各マイクロバッチのストリーミング データ シンクにデータを書き込むためにエグゼキューターで呼び出されます。 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
batch_id: 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, batch_id=self.current_batch_id)
このページの見出し