Перейти к содержимому

Что такое Apache Arrow? Технология, стоящая за DuckDB, Polars и Spark

The Data and AI Guy

0:00 / 0:00

Что такое Apache Arrow? Технология, стоящая за DuckDB, Polars и Spark

978 просмотров · 1 месяц назад
The Data and AI Guy
30,1 тыс. подписчиков
978 просмотров · 1 месяц назад
Вы уже используете Apache Arrow — в DuckDB, Polar, pandas 2.0, PySpark и BigQuery — просто специально его не устанавливали. Вот что он на самом деле делает. Это подробное объяснение того, почему перемещение данных между инструментами является самой медленной частью вашего конвейера, и как Arrow устраняет эту проблему. Мы рассмотрим «налог на сериализацию» (почему передача данных из Spark в pandas может занять 4 секунды вместо 4 миллисекунд), как выглядит столбцовая структура данных в оперативной памяти Arrow, почему эта структура является необходимым условием для эффективности кэширования и выполнения SIMD/векторизованных операций, и как из этого бесплатно вытекает принцип совместного использования без копирования. Затем сравним Arrow и Parquet — данные в состоянии покоя и данные в процессе обработки — и какие именно флаги конфигурации нужно изменить, чтобы включить это в вашем собственном стеке уже сегодня. ⏱️ Разделы 0:00 - Вы уже используете Arrow 0:32 - Стоимость сериализации (4 с против 4 мс) 2:02 - Что такое Apache Arrow на самом деле 2:52 - Столбцовая архитектура в ОЗУ: кэш-линии и SIMD 5:24 - Совместное использование данных без копирования 8:12 - Где Arrow находится в вашем стеке 9:38 - Arrow против Parquet 11:55 - Краткий обзор и как его включить 🔗 Ссылки Apache Arrow: https://arrow.apache.org DuckDB: https://duckdb.org Polars: https://pola.rs Apache Spark / PySpark: https://spark.apache.org Apache Parquet: https://parquet.apache.org #ApacheArrow #DataEngineering #DuckDB #Polars #pandas #PySpark #Parquet #ADBC #ArrowFlight #ZeroCopy #столбцовая #SIMD #векторизация #конвейерыданных #Python