Что такое 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