baca (DataSourceReader)

Menghasilkan data untuk partisi tertentu dan mengembalikan iterator tuple atau baris.

Metode ini dipanggil sekali per partisi untuk membaca data. Menerapkan metode ini diperlukan untuk sumber data yang dapat dibaca. Anda dapat menginisialisasi sumber daya yang tidak dapat diserialisasi yang diperlukan untuk membaca data dari sumber data dalam metode ini.

Sintaksis

read(partition: InputPartition)

Parameter-parameternya

Parameter Tipe Deskripsi
partition InputPartition Partisi yang akan dibaca. Ini harus menjadi salah satu nilai partisi yang dikembalikan oleh partitions().

Pengembalian Barang

Iterator[Tuple] atau Iterator[RecordBatch]

Iterator tuple atau baris. Setiap tuple atau baris akan dikonversi menjadi baris di DataFrame akhir. Ini juga dapat mengembalikan iterator objek PyArrow RecordBatch jika sumber data mendukungnya.

Examples

Menghasilkan daftar tuple:

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

Menghasilkan daftar baris:

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

Menghasilkan objek 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