會將 PyArrow RecordBatch 物件的迭代器寫入 sink。
此方法在每個執行器上被呼叫一次,將資料寫入資料來源。 它接受 PyArrow RecordBatch 物件的迭代器,並回傳代表提交訊息的單一列,或 None 在沒有提交訊息時回傳。
驅動程式會從所有執行者收集提交訊息(若有),並在所有任務成功執行時將其傳達給該 commit() 方法。 若任何任務失敗,將以收集的提交訊息呼叫該 abort() 方法。
語法
write(iterator: Iterator[RecordBatch])
參數
| 參數 | 類型 | 說明 |
|---|---|---|
iterator |
迭代器[RecordBatch] | 一個由 PyArrow RecordBatch 物件組成的迭代器,代表輸入資料。 |
退貨
WriterCommitMessage
一個可序列化的提交訊息。
Examples
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)