Пакетная обработка результатов запроса
Команда хочет передавать строки с цифровыми кассами в стороннюю систему частями, а не собирать один большой DataFrame. Пройдитесь по пакетам из 5 000 строк и сохраните краткую сводку по каждому из них.
LazyFrame digital_rows с отфильтрованными цифровыми кассами уже загружен.
Это упражнение является частью курса
Масштабирование и оптимизация конвейеров данных с Polars
Инструкции к упражнению
- Пройдитесь по
digital_rowsпакетами по 5 000 строк, используя движок потоковой обработки.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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)