Опис курсу
Курс охоплює повний шлях від основ Python до роботи з Big Data на кластері Apache Spark. Програма побудована за принципом складності, що наростає: кожен модуль спирається на попередній. Особлива увага приділяється практичним лабораторним роботам та фінальному проекту на реальних даних.
Цілі курсу
Ключові компетенції за підсумками курсу:
- Впевнена робота з Python, Pandas та NumPy для аналізу даних
- Написання та оптимізація SQL-запитів будь-якої складності
- Розгортання та налаштування PySpark-оточення
- Обробка великих даних: трансформація, оптимізація, Spark Streaming
- Побудова ML-моделей через PySpark MLlib та Pipeline API
- Самостійна реалізація повного data-проекту від EDA до моделі
Зміст курсу
Модуль 01: Python для аналізу даних
Тривалість: 2 тижні | Годин: 20
Фундамент курсу. Охоплює базові структури даних Python та ключові бібліотеки для роботи з даними.
Теми:
- Структури даних: list, dict, set, tuple [Лаб]
- Функції, lambda, list comprehensions [Лаб]
- NumPy: масиви, операції, broadcasting [Лаб]
- Pandas: DataFrame, Series, індексація [Лаб]
- Читання та запис CSV, JSON, Excel [Лаб]
- Міні-проект: аналіз реального датасету [Проект]
Модуль 02: Візуалізація даних (EDA)
Тривалість: 1 тиждень | Годин: 10
Методологія розвідувального аналізу даних та ключові бібліотеки візуалізації.
Теми:
- Matplotlib: графіки, оформлення, subplots [Лаб]
- Seaborn: теплові карти, pairplot, boxplot [Лаб]
- Plotly: інтерактивні графіки [Лаб]
- EDA – методологія та підходи
- Проект: EDA реального датасету [Проект]
Модуль 03: Статистика для Data Analysis
Тривалість: 1 тиждень | Годин: 10
Математична основа: розподілу, кореляції, перевірка гіпотез.
Теми:
- Описова статистика: середня, дисперсія, квартилі
- Розподіл: нормальний, Пуассон, біноміальний [Лаб]
- Кореляція та коваріація [Лаб]
- Перевірка гіпотез: t-test, chi-square, ANOVA [Лаб]
- p-value та довірчі інтервали
Модуль 04: SQL та реляційні бази даних
Тривалість: 1 тиждень | Годин: 10
Робота з реляційними даними через SQL та інтеграція з Python.
Теми:
- SELECT, WHERE, GROUP BY, HAVING, JOIN [Лаб]
- Віконні функції: RANK, ROW_NUMBER, LAG/LEAD [Лаб]
- SQLAlchemy + Pandas: робота з БД з Python [Лаб]
- PostgreSQL/SQLite: практика на реальних даних [Лаб]
Модуль 05: Введення в Apache Spark та PySpark
Тривалість: 2 тижні | Годин: 25
Ключовий модуль курсу. Архітектура Spark, основні абстракції та робота з великими даними.
Теми:
- Архітектура Spark: Driver, Executor, DAG
- RDD vs DataFrame vs Dataset [Лаб]
- SparkSession, SparkContext — Налаштування оточення [Лаб]
- Трансформації та дії (lazy evaluation) [Лаб]
- Читання Parquet, CSV, JSON у PySpark [Лаб]
- PySpark SQL: createOrReplaceTempView, spark.sql() [Лаб]
Модуль 06: PySpark: найвищий рівень
Тривалість: 2 тижні | Годин: 25
Оптимізація запитів, UDF, потокове оброблення даних.
Теми:
- Віконні функції: Window, partitionBy, orderBy [Лаб]
- UDF та Pandas UDF (vectorized) [Лаб]
- Оптимізація: партиціонування, broadcast join [Лаб]
- Catalyst Optimizer та Tungsten – як працюють
- Кешування: persist(), cache(), unpersist() [Лаб]
- Обробка пропущених значень та дублікатів [Лаб]
- Spark Streaming: основи потокової обробки [Лаб]
Модуль 07: MLlib - машинне навчання в Spark
Тривалість: 2 тижні | Годин: 20
Розподілене машинне навчання засобами PySpark MLlib і Pipeline API.
Теми:
- Pipeline API: Transformer, Estimator, Pipeline [Лаб]
- Класифікація: LogisticRegression, RandomForest [Лаб]
- Регресія: LinearRegression, GBT [Лаб]
- Кластеризація: KMeans, BisectingKMeans [Лаб]
- Feature Engineering: VectorAssembler, StringIndexer [Лаб]
- Крос-валідація та підбір гіперпараметрів [Лаб]
Модуль 08: Підсумковий проект
Тривалість: 2 тижні | Годин: 20
Самостійний проект реальних даних із застосуванням всього пройденого материала.
Теми:
- Постановка задачі та збір даних
- EDA та візуалізація
- Обробка та трансформація в PySpark
- Побудова та оцінка ML-моделі через MLlib
- Оформлення звіту та презентація результатів [Проект]