Содержание пакета (4 курса)
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.
Варианты итоговых работ
↗
3. Python Engineer с нуля до junior 4.91
Общая информация
3 урока
1.
Знакомство с платформой
↗
2.
Сдача домашних работ
↗
3.
Коммуникация с преподавателями
↗
Введение
5 уроков
1.
Что такое программирование?
↗
2.
Актуальность Python
↗
3.
Что можно сделать на Python?
↗
4.
Что такое PEP 8 и почему это важно?
↗
5.
Установка всего необходимого
↗
Начало Python
4 урока
1.
Переменные
↗
2.
Типы данных и комментарии
↗
3.
Ввод и вывод информации
↗
4.
Операции с переменными
↗
Условный оператор, циклы и try/except
4 урока
1.
Условный оператор if/else
↗
2.
Цикл for
↗
3.
Цикл while
↗
4.
Конструкция try/except
↗
Строки
5 уроков
1.
Что такое изменяемые и неизменяемые типы данных?
↗
2.
А теперь про строки!
↗
3.
Методы строк
↗
4.
Форматирование строк
↗
5.
Итоговое задание №1
↗
Списки и кортежи
5 уроков
1.
Введение в списки
↗
2.
Методы работы со списками
↗
3.
Поэлементное взаимодействие со списками
↗
4.
Генерация списков (list comprehension)
↗
5.
Что такое кортежи?
↗
Словари и множества
7 уроков
1.
Что такое словарь и зачем он нужен, если есть списки?
↗
2.
Методы работы со словарями
↗
3.
Вложенные словари
↗
4.
Множества и методы множеств
↗
5.
Круги Эйлера и операции над множествами
↗
6.
Frozenset
↗
7.
Итоговое задание №2
↗
Функции
11 уроков
1.
Что такое функция и зачем они нужны?
↗
2.
Функции без параметров и с параметрами
↗
3.
Возвращение результата из функции
↗
4.
Рекурсия
↗
5.
Аннотация типов
↗
6.
*Args и **Kwargs
↗
7.
Декораторы, передача функции как параметра
↗
8.
map(), filter(), reduce()
↗
9.
Lambda функции
↗
10.
all(), any(), zip(), enumerate()
↗
11.
Итоговое задание №3
↗
Модули и пакеты
2 урока
1.
Что такое пакеты и модули?
↗
2.
Псевдонимы
↗
Random и time
3 урока
1.
Псевдослучайные числа
↗
2.
Рассматриваем методы random
↗
3.
Как замерять время работы программы?
↗
Decimal / Fractions
2 урока
1.
Decimal
↗
2.
Fractions
↗
IterTools
2 урока
1.
Введение в комбинаторику
↗
2.
Что такое IterTools?
↗
Введение в PyQT5
8 уроков
1.
Как реализуются графические приложения на Python?
↗
2.
Введение в PyQT5
↗
3.
Что такое window и label?
↗
4.
Что такое layout? QVBox layout vs QHBox layout
↗
5.
Как работать с кнопками? Виды кнопок
↗
6.
Что такое виджеты?
↗
7.
Реальные проекты, написанные на PyQT5
↗
8.
Итоговое задание №4
↗
Асинхронность и многопоточность
2 урока
1.
Что такое асинхронность?
↗
2.
Что такое многопоточность/многопроцессорность?
↗
Алгоритмы и сортировки
2 урока
1.
Введение в алгоритмы
↗
2.
Введение в сортировки
↗
MatPlotLib
2 урока
1.
Что такое визуализация?
↗
2.
Знакомимся с MatPlotLib
↗
Что такое матрицы и NumPy?
3 урока
1.
Что такое матрица? Операции над матрицами
↗
2.
Что такое NumPy?
↗
3.
Итоговое задание №5
↗
Файлы
2 урока
1.
Что такое директория и файл? Виды файлов
↗
2.
Чтение/запись/открытие файлов
↗
ООП
7 уроков
1.
Что такое ООП?
↗
2.
Что такое класс?
↗
3.
Что такое объекты класса?
↗
4.
Зачем нужен конструктор?
↗
5.
Инкапсуляция, наследование и полиморфизм
↗
6.
Конструкция super
↗
7.
Итоговое задание №6
↗
Машинное обучение, нейросети
4 урока
1.
Что такое машинное обучение, нейросети и ИИ?
↗
2.
Основные модели машинного обучения
↗
3.
Из чего состоит нейросеть?
↗
4.
Пишем первые нейросети и знакомимся с TensorFlow
↗
NLP
2 урока
1.
Что такое NLP? Какие задачи решает?
↗
2.
Практикуемся :)
↗
OpenCV
4 урока
1.
Что такое компьютерное зрение?
↗
2.
Что такое пиксели, RGB и каналы?
↗
3.
Реализация приложения распознавания лиц на фото
↗
4.
Реализация приложения распознавания лиц на видео
↗
Чат-боты
3 урока
1.
Что такое чат-бот? История возникновения
↗
2.
Пишем первого чат-бота в Telegram
↗
3.
Итоговое задание №7
↗
Что такое SQLAlchemy | Что такое Django ?
5 уроков
1.
Для чего нужен SQLAlchemy?
↗
2.
Создание и настройка подключения
↗
3.
Определение моделей, ORM и основные операции CRUD
↗
4.
Введение в django, конкуренты, первое приложение
↗
5.
Делаем веб-форму для отправки сообщения в телеграмм
↗
Итоговый проект
2 урока
1.
Итоговые проекты на выбор.
↗
2.
Наши другие продукты
↗
4. SQL Engineer с нуля до junior 4.67
Знакомство с платформой и сдача практических работ
2 урока
1.
Введение в курс
↗
2.
Сдача практических задач и знакомство с платформой
↗
Что такое базы данных?
7 уроков
1.
Что такое информация и какая она бывает?
↗
2.
Для чего используются базы данных?
↗
3.
История баз данных
↗
4.
Актуальность баз данных
↗
5.
Виды баз данных
↗
6.
OLAP vs OLTP
↗
7.
ACID
↗
Проектирование базы данных
5 уроков
1.
Что такое таблица, домен, кортеж?
↗
2.
Виды связей между таблицами
↗
3.
Виды ключей
↗
4.
Нормализация баз данных
↗
5.
ER-диаграммы
↗
Введение в PostgreSQL
6 уроков
1.
История PostgreSQL
↗
2.
Знакомство с конкурентом - MySQL и сравнение.
↗
3.
Пошаговая установка PostgreSQL
↗
4.
Что такое PgAdmin?
↗
5.
DBeaver и его установка
↗
6.
Использование DBeaver
↗
Структура SQL запросов
4 урока
1.
Диалекты SQL запросов
↗
2.
Основные группы запросов: DDL, DML, DCL, TCL
↗
3.
Основные типы данных
↗
4.
Итоговое задание №1
↗
Команды DML
4 урока
1.
Команда INSERT
↗
2.
Команда UPDATE
↗
3.
Команда DELETE
↗
4.
Итоговое задание №2
↗
Запросы на выборку данных
9 уроков
1.
Команда SELECT и её возможности
↗
2.
Математические операции
↗
3.
Математические функции
↗
4.
Строковые функции
↗
5.
Функции даты/времени
↗
6.
Фильтрация данных с помощью WHERE
↗
7.
Сортировка данных с помощью ORDER BY
↗
8.
Лимитирование результатов: LIMIT и OFFSET
↗
9.
Итоговое задание №3
↗
Агрегация и группировка данных
3 урока
1.
Агрегатные функции: COUNT, SUM, AVG, MIN, MAX
↗
2.
Группировка данных с помощью GROUP BY
↗
3.
Фильтрация агрегатов с помощью HAVING
↗
Работа с несколькими таблицами
6 уроков
1.
Объединение - UNION
↗
2.
Виды соединений
↗
3.
Юнит-экономика
↗
4.
Использование подзапросов и коррелированных подзапросов
↗
5.
Бонус. Подготовка кортежей для вставки в БД
↗
6.
Итоговое задание №4
↗
Работа с NULL значениями
2 урока
1.
Понимание NULL и его особенности
↗
2.
Операторы для работы с NULL: IS NULL, IS NOT NULL
↗
Индексы и их использование
4 урока
1.
Зачем нужны индексы?
↗
2.
Типы индексов: B-Tree, Hash
↗
3.
Создание и удаление индексов
↗
4.
Итоговое задание №5
↗
Работа с представлениями (Views)
3 урока
1.
Представления: создание и использование
↗
2.
Обновляемые представления и их ограничения
↗
3.
Итоговое задание №6
↗
Управление доступом и безопасностью
3 урока
1.
Понятие пользователей и ролей в СУБД
↗
2.
Назначение прав доступа
↗
3.
Итоговое задание №7
↗
Хранимые процедуры и функции
3 урока
1.
Введение в хранимые процедуры и функции
↗
2.
Создание и использование процедур
↗
3.
Отличие между процедурами и функциями
↗
Триггеры и их использование
2 урока
1.
Что такое триггеры и как они работают?
↗
2.
Создание и управление триггерами
↗
Работа с JSON и XML данными
3 урока
1.
Хранение и извлечение данных в формате JSON
↗
2.
Использование функций JSON
↗
3.
Работа с XML: извлечение и модификация данных
↗
SQL для аналитики данных
3 урока
1.
Использование CTE (Common Table Expressions)
↗
2.
Рекурсивные запросы
↗
3.
Аналитические функции (OVER, PARTITION BY)
↗
NoSQL и SQL
2 урока
1.
Введение в NoSQL
↗
2.
Отличия между SQL и NoSQL базами данных
↗
Безопасность данных и шифрование
1 урок
1.
Основы хеширования данных в СУБД
↗
Введение в Clickhouse
4 урока
1.
Что такое Clickhouse?
↗
2.
Установка Clickhouse
↗
3.
Начало работы с Clickhouse
↗
4.
Основные движки в Clickhouse
↗
Разбор основных вопросов на собеседованиях
2 урока
1.
Какие виды тестирования можно встретить на собеседованиях?
↗
2.
Основные вопросы с собеседований на SQL-разработчика
↗
Итоговое задание
2 урока
1.
Обсуждение итогового проекта, его сдача и критерии проверки
↗
2.
Наши другие продукты
↗