read (DataSourceReader)

Vygeneruje data pro daný oddíl a vrátí iterátor řazených kolekcí členů nebo řádků.

Tato metoda se vyvolá jednou pro každý oddíl pro čtení dat. Implementace této metody je nutná pro čitelné zdroje dat. V rámci této metody můžete inicializovat všechny ne serializovatelné prostředky potřebné ke čtení dat ze zdroje dat.

Syntaxe

read(partition: InputPartition)

Parametry

Parameter Typ Description
partition InputPartition Oddíl, který se má přečíst. Musí to být jedna z hodnot oddílů vrácených partitions().

Návraty

Iterator[Tuple] nebo Iterator[RecordBatch]

Iterátor řazených kolekcí členů nebo řádků. Každá řazená kolekce členů nebo řádek se převede na řádek v konečném datovém rámci. Může také vrátit iterátor objektů PyArrow RecordBatch , pokud ho zdroj dat podporuje.

Příklady

Vytvoří seznam řazených kolekcí členů:

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

Zobrazí seznam řádků:

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

Yields PyArrow RecordBatch objects:

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