HPPY: Высокопроизводительная обработка данных на Python
1. Диагностика производительности: где у Python «болит»-
О событии
• Интерпретация vs компиляция: что Python делает «под капотом»
• Бутылочные горлышки: CPU / память / I/O / сеть
• Накладные расходы структур Python (list/dict/object) и почему это важно
• Интеграция с Си (и другими языками программирования)2. Данные решают: представления и форматы, которые ускоряют-
• Pandas : сильные стороны, типичные причины деградации, оптимизационные приёмы
• Apache Arrow : колоночное представление, zero-copy, межъязыковая совместимость
• Polars : быстрый DataFrame-подход, ленивые вычисления, векторизация, параллельность «из коробки»
Практика: одну и ту же задачу делаем несколькими способами и сравниваем
3. «А если SQL?» — когда это быстрее и проще, чем писать Python-циклы-
• От SQLite к DuckDB: аналитика локально, в файлах, без сервера
• SQL vs DataFrame API: что выбирать и почему
Практика: перенос части вычислений в SQL-движок и оценка выигрыша
• Spark как платформа: DataFrame + SQL, когда он оправдан
• 4. Параллелизм в Python без мифов-
• Процессы и потоки: как это работает
• GIL: почему потоки не ускоряют python и что с этим делать
• Параллелизм «за чужой счёт»:
• Dask / Ray / Spark — когда и какой эффект они дают
• SQL-движки — параллельные вычисления внутри (DuckDB/Spark/Trino)
Практика: распараллеливаем задачу и фиксируем эффект
5. Горизонтальное масштабирование: от одной машины к кластеру-
• Архитектурные сценарии: batch/stream, ETL/ELT, ad-hoc аналитика, сервисные расчёты
• Варианты кластера и диспетчеризация: Spark, Trino, Ray, Celery, (обзор MPI/SLURM)
• Распределённый SQL (Trino): где он стреляет, а где нет
• Итоговая карта решений: что выбрать под ваш кейс , риски, стоимость владения, пределы
• Более подробно с программой курса можно ознакомиться по ссылке:https://bigdataschool.ru/courses/high-performance-processing-python/