読み込む(データソースリーダー)
指定されたパーティションのデータを生成し、タプルまたは行のイテレータを返します。
このメソッドは、パーティションごとに1回呼び出され、データを読み取ります。読み取り可能なデータソースを実現するには、この方法を実装する必要があります。このメソッド内で、データソースからデータを読み取るために必要な、シリアル化不可能なリソースを初期化できます。
構文
read(partition: InputPartition)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
| 入力パーティション | 読み込むパーティション。これは、 |
戻り値
Iterator[Tuple] または Iterator[RecordBatch]
タプルまたは行のイテレータ。各タプルまたは行は、最終的なDataFrameの行に変換されます。 データソースがサポートしている場合は、PyArrow RecordBatchオブジェクトのイテレータを返すこともできます。
例
タプルのリストを返します。
Python
def read(self, partition: InputPartition):
yield (partition.value, 0)
yield (partition.value, 1)
行のリストを返します。
Python
def read(self, partition: InputPartition):
yield Row(partition=partition.value, value=0)
yield Row(partition=partition.value, value=1)
PyArrowオブジェクトをRecordBatch生成します。
Python
def read(self, partition: InputPartition):
import pyarrow as pa
data = {
"partition": [partition.value] * 2,
"value": [0, 1]
}
table = pa.Table.from_pydict(data)
for batch in table.to_batches():
yield batch