Содержание пакета (2 курса)
1. Data Engineer с нуля до junior 4.88
Знакомство с платформой и сдача практических задач
2 урока
1.
Введение в курс
↗
2.
Сдача практических задач и знакомство с платформой
↗
Что такое информация, данные и BigData?
8 уроков
1.
Что такое информация? Основные виды. Операции над информацией
↗
2.
Где можно хранить информацию? Обзор основных форматов
↗
3.
Чем вызвано появление Big Data? История направления
↗
4.
Основные свойства больших данных
↗
5.
Как хранят и обрабатывают большие данные?
↗
6.
Что такое ETL/ELT процессы? Batch/Streaming обработка данных
↗
7.
На кого мы с Вами учимся? Что за Data Engineer такой
↗
8.
Реальные примеры того, как Big Data используется в жизни
↗
Теория баз данных
9 уроков
1.
Введение в базы данных
↗
2.
Виды баз данных
↗
3.
Что такое OLAP и OLTP?
↗
4.
Что такое таблица и из каких элементов она состоит?
↗
5.
Свойства ACID и транзакции
↗
6.
Реляционная алгебра, круги Эйлера, диаграммы Венна
↗
7.
Что такое ключи, зачем они нужны и какие виды есть?
↗
8.
Виды связей таблиц
↗
9.
Нормализация, нормальные формы и их виды
↗
Обустраиваем рабочее место | Docker | VB
5 уроков
1.
Организация рабочего места
↗
2.
Вариант 1: Виртуальная машина на базе VirtualBox
↗
3.
Вариант 2: Docker
↗
4.
Тесты по Docker
↗
5.
Итоговое задание
↗
Введение в SQL
14 уроков
1.
История создания SQL и его диалекты
↗
2.
Начало работы с PostgreSQL в PGAdmin4
↗
3.
SELECT
↗
4.
Агрегатные функции
↗
5.
Order By и Group By
↗
6.
Подзапросы
↗
7.
Union vs Union ALL
↗
8.
Различные виды Join'ов и их разница
↗
9.
Оконные функции
↗
10.
Транзакции
↗
11.
Решаем реальные задачи
↗
12.
Задания по SQL v2 проверка результата
↗
13.
PostgreSQL в облачной инфраструктуре Yandex Cloud
↗
14.
Итоговое задание
↗
Система контроля версий GIT
8 уроков
1.
Что такое Git? Регистрация на GitHub
↗
2.
Создание репозитория
↗
3.
Соединяем удаленный и локальный репозиторий
↗
4.
Отправка версий проекта или что такое коммиты
↗
5.
Ветки проекта (branches)
↗
6.
Публикация и редактирование грамотного README.md
↗
7.
Что такое CI/CD и как это работает?
↗
8.
Итоговое задание
↗
Столбцовые (колоночные) базы данных. Введение в ClickHouse
7 уроков
1.
Что такое OLAP? Знакомство с ClickHouse
↗
2.
Установка подключения к ClickHouse
↗
3.
Начало работы с ClickHouse: основные команды и особенности
↗
4.
Движки в ClickHouse
↗
5.
Плюсы и минусы ClickHouse
↗
6.
Ресурсы по ClickHouse и дальнейший трек развития
↗
7.
ClickHouse в Yandex Cloud. Особенности.
↗
DWH - Data WareHouse
5 уроков
1.
Что такое DWH?
↗
2.
Из чего состоит DWH?
↗
3.
Концептуальный, логический и физический уровень моделирования
↗
4.
Известные модели данных: звезда и снежинка
↗
5.
Что такое DataVault и Anchor Model
↗
NoSQL хранилища данных
2 урока
1.
Что такое NoSQL хранилища данных?
↗
2.
Знакомство с основными дистрибутивами NoSQL
↗
Озера данных
6 уроков
1.
Что такое озеро данных?
↗
2.
Сравнение озера данных с обычными базами данных
↗
3.
Актуальность озер данных
↗
4.
Болото данных
↗
5.
Архитектура озер данных
↗
6.
S3 хранилища вообще и Yandex Object Storage в частности
↗
Введение в Linux | Bash | cURL
6 уроков
1.
Что такое Linux? Виды дистрибутивов. Windows/Linux/MacOS
↗
2.
UI интерфейс vs Терминал
↗
3.
Введение в Bash | Реальные задачи
↗
4.
Введение в cURL, основные команды
↗
5.
Облачные виртуальные машины Yandex Cloud
↗
6.
Итоговое задание
↗
Распределенная файловая система HDFS
7 уроков
1.
Введение в Hadoop
↗
2.
Что такое Cloudera, ArenaData и зачем они нам нужны?
↗
3.
Установка HDFS Cloudera через VM (тяжелый способ)
↗
4.
Установка HDFS через Docker (оптимальный способ)
↗
5.
Архитектура HDFS и загрузка/выгрузка файла в/из хранилище
↗
6.
Основные форматы файлов для хранения
↗
7.
Основные команды HDFS + практика
↗
Программирование на Python
14 уроков
1.
История Python, установка и актуальность в Big Data
↗
2.
Понятие переменной, как правильно именовать объекты, комментарии
↗
3.
Примитивные типы данных в Python
↗
4.
Введение в строки
↗
5.
Условный и тернарный оператор, AND/OR, операторы сравнения
↗
6.
Циклы for и while
↗
7.
Что такое list, set, dict и tuple?
↗
8.
Что такое try except? Работа с файлами.
↗
9.
Знакомство с функциями
↗
10.
Знакомство с популярными библиотеками
↗
11.
Введение в ООП
↗
12.
Как собираются приложения на Python?
↗
13.
Подключаемся к базам данных
↗
14.
Итоговое задание
↗
Алгоритмы и сортировки, big O
5 уроков
1.
Что такое алгоритмы и зачем они нам нужны?
↗
2.
Оценки алгоритма, big O
↗
3.
Сортировки в Python
↗
4.
Реализация популярных алгоритмов на Python
↗
5.
Где решать задачи на алгоритмы?
↗
Обработка данных с использованием движка PySpark
12 уроков
1.
История создания PySpark, его конкуренты и основные ядра
↗
2.
Настройка и установка PySpark
↗
3.
Создание Spark Session и сравнение со Spark Context
↗
4.
Как происходит выполнение задачи в PySpark?
↗
5.
RDD vs Dataset vs Dataframe
↗
6.
Действия и преобразования
↗
7.
Avro vs ORC vs Parquet
↗
8.
Чтение файлов и запись в rdd/dataframe
↗
9.
Знакомство с SparkSQL
↗
10.
Как подключиться из PySpark к базам данных?
↗
11.
Самостоятельная работа
↗
12.
Итоговое задание
↗
Инструменты стека Hadoop
7 уроков
1.
Что такое Hive, Pig и зачем они нам вообще нужны? Установка.
↗
2.
Архитектурная особенность Hive
↗
3.
Работа с HiveQL
↗
4.
Партицирование vs бакетирование в Hive
↗
5.
Внешние и внутренние таблицы в Hive
↗
6.
Что такое Hue? Преимущества и недостатки
↗
7.
Что такое Yarn? Нужен ли он нам? Конкуренты Yarn.
↗
Углубленное изучение Spark
10 уроков
1.
Что такое Spark Shell?
↗
2.
Catalyst Optimizer
↗
3.
Tungsten Execution Engine
↗
4.
Spark Submit
↗
5.
Repartition and Coalesce
↗
6.
Cache vs Persist
↗
7.
Создание UDF
↗
8.
Broadcast
↗
9.
Настраиваем собственный Spark Server в Docker
↗
10.
Общая работа
↗
Программирование на Scala
14 уроков
1.
Почему именно Scala и введение в функциональное программирование
↗
2.
Введение в историю языка программирования Scala
↗
3.
Что такое SBT/Maven
↗
4.
Установка Scala
↗
5.
Типы данных
↗
6.
Переменные
↗
7.
Основные структуры данных в Scala
↗
8.
Условный оператор и циклы
↗
9.
Функции
↗
10.
Функции высшего порядка, чистые функции
↗
11.
Анонимные функции
↗
12.
Каррирование, неявные параметры, частичное применение
↗
13.
Case классы и трейты
↗
14.
Итоговое задание
↗
Введение в Pandas и работа с API
5 уроков
1.
Знакомство с Pandas
↗
2.
Работа с DataFrame и Series
↗
3.
Манипуляция и очистка данных
↗
4.
Группировка, агрегация и объединение данных
↗
5.
Работа с API
↗
Оркестраторы рабочих процессов при работе с большими данными
9 уроков
1.
Что такое графы и какие есть виды
↗
2.
Оркестраторы, как основа автоматизации
↗
3.
Oozie vs Airflow
↗
4.
Установка Airflow.
↗
5.
Введение в Airflow. Основные понятия: Airflow UI, Sheduling, DAG
↗
6.
Переменные, подключения и XCOM
↗
7.
Погружение в операторы Airflow. Sensor операторы
↗
8.
Устанавливаем библиотеки Python в Airflow
↗
9.
Работа с файлами в Airflow
↗
Знакомство с Kafka
3 урока
1.
Что такое kafka?
↗
2.
Где применяется kafka?
↗
3.
Практика c Kafka
↗
Мониторинг витрин и приложений
6 уроков
1.
Мониторинг витрин : качественный и количественный
↗
2.
Визуализация метрик в Grafana
↗
3.
Настройка отправки алертов на почту
↗
4.
Настройка отправки алертов в telegram
↗
5.
Что такое Prometheus и VictoriaMetrics?
↗
6.
Установка Grafana, создание первых дашбордов
↗
Инструменты командной работы
5 уроков
1.
Сравнение методологий Agile и Kanban
↗
2.
Основные профессии, устройство команды и зона ответственности
↗
3.
Jira и Confluence
↗
4.
Документация витрины
↗
5.
Грейды data engineer
↗
Разбор основных вопросов на собеседованиях
3 урока
1.
Вопросы на собеседованиях
↗
2.
Онлайн кодинг и выполнение тестовых заданий
↗
3.
Как правильно составить резюме?
↗
Итоговая работа
2 урока
1.
Обсуждение итогового проекта, его сдача и критерии проверки
↗
2.
Наши другие продукты
↗
2. PySpark с нуля 5.00
Знакомство с платформой и сдача практических задач
1 урок
1.
Введение в курс и платформу
↗
Введение в Spark и основы распределенных вычислений
6 уроков
1.
Что такое Apache Spark и его место в экосистеме Big Data
↗
2.
Архитектура Spark: драйвер, исполнители, кластерные менеджеры
↗
3.
Чем Spark лучше Hadoop MapReduce? Отложенные вычисления
↗
4.
Обзор PySpark API и его особенностей
↗
5.
Установка и настройка Spark
↗
6.
Первый запуск PySpark
↗
Работа с данными в PySpark: RDD
6 уроков
1.
Что такое RDD (Resilient Distributed Dataset)
↗
2.
Преобразования
↗
3.
Действия
↗
4.
Практическое задание
↗
5.
Самостоятельная работа
↗
6.
Итоговое задание
↗
Работа с данными в PySpark: DataFrame и Spark SQL
11 уроков
1.
DataFrame в PySpark: понятие, схема, создание
↗
2.
Основные операции DataFrame API
↗
3.
Spark SQL
↗
4.
Схемы данных и типы
↗
5.
Встроенные функции PySpark
↗
6.
User Defined Functions
↗
7.
Форматы: Avro, Parquet, ORC
↗
8.
Pandas API
↗
9.
Практическое задание
↗
10.
Самостоятельная работа
↗
11.
Итоговое задание
↗
Оптимизация производительности PySpark-приложений
8 уроков
1.
Широкие и узкие преобразования, shuffle
↗
2.
Партиционирование
↗
3.
Анализ плана выполнения (explain), стратегии JOIN
↗
4.
Обработка неравномерных данных (Data Skew)
↗
5.
Кэширование (cache, persist) и контрольные точки (checkpoint)
↗
6.
Catalyst Optymizer
↗
7.
Tungsten Execution Engine
↗
8.
Итоговое задание
↗
Потоковая обработка с PySpark Structured Streaming
6 уроков
1.
Введение в PySpark Streaming
↗
2.
Источники данных для Structured Streaming
↗
3.
Вывод данных, Режимы вывода и Триггеры
↗
4.
Управление состоянием и временем
↗
5.
Самостоятельная работа
↗
6.
Итоговое задание
↗
Машинное обучение с PySpark MLlib
6 уроков
1.
Введение в PySpark ML
↗
2.
Предварительная обработка данных
↗
3.
Основные алгоритмы машинного обучения в PySpark ML
↗
4.
Оценка моделей в PySpark ML
↗
5.
Кросс-валидация и подбор гиперпараметров
↗
6.
Построение и оценка ML Pipelines
↗
Интеграция PySpark с внешними системами
1 урок
1.
Знакомство с хранилищами данных для работы с PySpark
↗
Отладка и профилирование PySpark-приложений
1 урок
1.
Как устранять ошибки?
↗
Чеклисты и шпаргалки по PySpark
1 урок
1.
Основные приемы
↗
Продвинутые темы PySpark
1 урок
1.
Что такое DeltaLake?
↗
Финальные проекты
1 урок
1.
Варианты итоговых работ
↗