Memproses hasil kueri secara bertahap
Tim ingin mendorong baris checkout digital ke sistem hilir secara bertahap alih-alih mengumpulkan satu DataFrame yang sangat besar. Iterasikan dalam batch berukuran 5.000 baris dan tangkap ringkasan kecil dari setiap batch.
Sebuah LazyFrame digital_rows dengan checkout digital yang sudah difilter telah dimuat sebelumnya.
Latihan ini merupakan bagian dari kursus
Menskalakan dan Mengoptimalkan Pipeline Data dengan Polars
Instruksi latihan
- Iterasikan
digital_rowsdalam batch berukuran 5.000 baris pada mesin streaming.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
batch_summaries = []
# Stream digital_rows in chunks of 5,000
for batch_no, batch in enumerate(
digital_rows.____(chunk_size=____, engine="streaming"),
start=1,
):
batch_summaries.append(
{
"batch": batch_no,
"rows": batch.height,
"checkouts": batch["checkouts"].sum(),
}
)
result = pl.DataFrame(batch_summaries)
print(result)