lezen (DataSourceReader)

Genereert gegevens voor een bepaalde partitie en retourneert een iterator van tuples of rijen.

Deze methode wordt eenmaal per partitie aangeroepen om de gegevens te lezen. Het implementeren van deze methode is vereist voor leesbare gegevensbronnen. U kunt alle niet-serialiseerbare resources initialiseren die nodig zijn voor het lezen van gegevens uit de gegevensbron binnen deze methode.

Syntaxis

read(partition: InputPartition)

Parameterwaarden

Kenmerk Typ Beschrijving
partition InputPartition De partitie die moet worden gelezen. Dit moet een van de partitiewaarden zijn die worden geretourneerd door partitions().

Retouren

Iterator[Tuple] of Iterator[RecordBatch]

Een iterator van tuples of rijen. Elke tuple of rij wordt geconverteerd naar een rij in het uiteindelijke DataFrame. Het kan ook een iterator van PyArrow-objecten RecordBatch retourneren als de gegevensbron deze ondersteunt.

Examples

Geeft een lijst met tuples:

def read(self, partition: InputPartition):
    yield (partition.value, 0)
    yield (partition.value, 1)

Geeft een lijst met rijen als resultaat:

def read(self, partition: InputPartition):
    yield Row(partition=partition.value, value=0)
    yield Row(partition=partition.value, value=1)

Geeft PyArrow-objecten 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