特定のパーティションのデータを生成し、タプルまたは行の反復子を返します。
このメソッドは、データを読み取るためにパーティションごとに 1 回呼び出されます。 このメソッドの実装は、読み取り可能なデータ ソースに必要です。 このメソッド内のデータ ソースからデータを読み取る際に必要な、シリアル化不可能なリソースを初期化できます。
構文
read(partition: InputPartition)
パラメーター
| パラメーター | タイプ | 説明 |
|---|---|---|
partition |
InputPartition | 読み取るパーティション。
partitions()によって返されるパーティション値のいずれかである必要があります。 |
返品
Iterator[Tuple] または Iterator[RecordBatch]
タプルまたは行の反復子。 各タプルまたは行は、最終的な DataFrame の行に変換されます。 また、データ ソースでサポートされている場合は、PyArrow RecordBatch オブジェクトの反復子を返すこともできます。
例示
タプルの一覧を生成します。
def read(self, partition: InputPartition):
yield (partition.value, 0)
yield (partition.value, 1)
行の一覧を生成します。
def read(self, partition: InputPartition):
yield Row(partition=partition.value, value=0)
yield Row(partition=partition.value, value=1)
PyArrow RecordBatch オブジェクトを生成します。
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