Bulat Yaminov: "Vaex: Python библиотека для работы с большими данными на обычном ноутбуке"
Vaex: Python библиотека для работы с большими данными на обычном ноутбуке.
Инженерам и аналитикам все чаще приходится работать с таблицами, состоящими из миллионов или миллиардов строчек. Обычно, если данные слишком большие, чтобы уместиться в оперативной памяти одного компьютера, для анализа приходится использовать распределенные системы. Библиотека Vaex позволяет эффективно работать с таблицами данных на жестком диске с малым использованием оперативной памяти. Таким образом она расширяет возможности быстрого локального анализа и во многих ситуациях может избавить от необходимости платить за вычислительные кластеры.
Vaex написан на Python и C++, использует отображение файлов в память (memory-mapping в форматах Apache Arrow, HDF5), отложенные вычисления, вычислительные графы и эффективные алгоритмы. Это позволяет обрабатывать больше данных, используя меньше ресурсов.
В презентации я расскажу о решениях, используемых в библиотеке Vaex, покажу пример ее использования для анализа данных "New York City YellowCab taxi service", и сравню Vaex с другими библиотеками, позволяющими обрабатывать большие данные на языке Python: такими как PySpark и Dask DataFrame.
Bulat Yaminov
The Netherlands. Utrecht
Software Engineer
vaex.io
Я работаю в Uber Amsterdam, где мы строим сервисы на Go и Python. До этого в XebiaLabs мы разрабатывали продукты для Continuous Delivery. Там я много писал на Java и Scala, был техническим лидером, а позже работал над моделями машинного обучения: они предсказывали результаты запуска continuous delivery pipeline, используя библиотеки на Python, такие как scikit-learn. Свою карьеру я начал 14 лет назад в Питере, закончив КТ в ИТМО. В свободное время я помогаю в разработке Vaex.