Проходил 27 мая в 20:00

День открытых дверей
Всё о курсе «Data Engineer»

День открытых дверей онлайн

День Открытых Дверей — отличная возможность узнать подробнее о программе курса, особенностях онлайн-формата, навыках, компетенциях и перспективах, которые ждут выпускников после обучения. Также преподаватель расскажет о своём профессиональном опыте и ответит на вопросы участников. Поэтому если есть вопрос, запишитесь на онлайн-трансляцию и задайте его в прямом эфире!
Преподаватель
Артемий Козырь

Запись

О курсе

Data Engineer
44 000 ₽
4 месяца
Начало 28 августа
  • понимание ключевых способов интеграции, обработки, хранения больших данных
  • умение работать с компонентами экосистемы Hadoop, распределенными хранилищами и платформами
  • практические навыки разработки дата-сервисов, витрин и приложений
  • знание принципов организации мониторинга, оркестрации, тестирования
  • Курс адресован разработчикам, администраторам СУБД и всем, кто стремится повысить профессиональный уровень, освоить новые инструменты и заниматься интересными задачами в сфере работы с данными.

    После обучения Data …

Программа курса
Модуль 1
Data Engineer: задачи, инструменты, умения
Модуль 2
Загрузка и форматы данных (Data Ingestion)
Модуль 3
Построение пайплайнов / Очереди сообщений / Хранилища данных
Модуль 4
Процессинг и доступ к данным
Модуль 5
Обеспечивающие системы (мониторинг, оркестрация, тесты)
Модуль 6
Проектная работа
Data Engineer: задачи, инструменты, умения
По результатам модуля:
- имеем представление о задачах и инструментах
- знаем, умеем объяснить, сравнить, применять
- умеем развернуть кластер в облаке
Инженер Данных. Задачи, навыки, инструменты, потребности на рынке.
- Кто этот специалист и зачем?
- Какая ценность для бизнеса?
- Потребность на рынке. Навыки
- Дальнейшее развитие
- Data Driven Decisions

- Какие задачи решает?
- Инструменты для решения основных задач
- Введение в большие данные: где используют, экосистема и история развития фреймворков
28 августа, 20:00 — 21:30
Домашние задания: 1
ДЗ
Домашнее задание: анализ рынка Инженер Данных: РФ, USA, EU. Топ потребностей бизнеса, ключевые технологии и умения
Понять для себя, где и чем бы вам хотелось заниматься
Фиксация целей на процесс обучения
Эволюция подходов работы с данными. Базовые принципы и понятия.
- CAP theorem, Distributed Computing, MPP (Massive Parallel Processing).
- Эволюция аналитических хранилищ данных
- SQL + Not Only SQL.
- Batch + Stream
- Lambda, Kappa
30 августа, 20:00 — 21:30
Домашние задания: 1
ДЗ
Строим свою архитектуру. Разместите ответ в виде документа Google Docs и поделитесь ссылкой.
Облачные платформы. GCP, AWS, Azure.
Облака: Amazon Kinesis, Google Cloud Pub-Sub, Google Dataflow. Cloud functions
4 сентября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Создание пайплайна обработки данных на Google Cloud Platform. Ссылка на инструкцию к домашнему заданию
https://docs.google.com/document/d/1OENWwlIuHYC0tMmxeySGBIFYtlSiflbTXXRKSiNSuis/edit?usp=sharing
Дистрибутивы Cloudera и Hortonworks
- Кто такие Cloudera и HortonWorks и что за экосистемы они строят
- Как собрать кластер Hadoop на основе популярных дистрибутивов CDH и HDP
6 сентября, 20:00 — 21:30
Загрузка и форматы данных (Data Ingestion)
По результатам модуля:
- грузим в файловую систему
- смотрим форматы
- сравниваем сжатия
- настраиваем репликацию
Распределенные файловые системы
- Принципы работы распределенных файловых систем
- Структура кластера HDFS
- Тонкости настройки HDFS - конфигурация, защита, обеспечение отказоустойчивости
11 сентября, 20:00 — 21:30
Инструменты выгрузки данных из сторонних систем - 1 часть
- Типы систем-источников. Структурированные, полу- и неструктурированные данные. Логи, выгрузки из АС, Clickstream
- Инструменты для извлечения и загрузки данных - Flume, Sqoop, StreamSets, Fluentd, Debezium, logstash
- Практические примеры загрузки данных из сервисных баз данных
13 сентября, 20:00 — 21:30
Инструменты выгрузки данных из сторонних систем - 2 часть
- Типы систем-источников. Структурированные, полу- и неструктурированные данные. Логи, выгрузки из АС, Clickstream
- Инструменты для извлечения и загрузки данных - Flume, Sqoop, StreamSets, Fluentd
- Практические примеры загрузки данных из сервисных баз данных
18 сентября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Создать снепшот аналитической таблицы из операционного хранилища. 1. Скопируйте на свою рабочую станцию (ПК или Google Cloud) данный репозиторий: https://github.com/renardeinside/vogel
2. Перейдите в папку проекта (vogel) и запустите все необходимые инстансы командой:
docker-compose up --build
3. Сгенерируйте токен для доступа к Jupyter Notebook (выполните эту команду в проектной папке):
docker-compose -f docker-compose.yml exec jupyter-local jupyter notebook list
4. Перейдите в браузер и введите в нем полученную ссылку с токеном.
5. В Jupyter Notebook перейдите в папку work, в ней откройте ноутбук postgres_snapshot.
6. Запустите в нем все шаги до шага Read and join the data.
7. В переменную query запишите select-запрос, который выводит следующие данные (доступные таблицы - customers, products, orders):

id - id пользователя из таблицы customers
first_name - first_name пользователя из таблицы customers
last_name - last_name пользователя из таблицы customers
total_weight - суммарный размер всех продуктов данного пользователя (поле weight в таблице products)
load_dttm - дата/время выполнения команды загрузки

Выполните данную ячейку командой Shift + Enter.

Дополнительные ограничения запроса - необходимо выграть только тех пользователей, у которых id<=1005.
Информацию по структурам таблиц вы можете прочесть в README.md файле.

8. Проверьте что были записаны верные данные в следующей ячейке.
9. В комментарии к ДЗ пришлите ваш форк данного репозитория с верной sql-командой.
Форматы данных и их особенности
- Назначение row-based и column-based форматов
- Обзор наиболее распространенных форматов: Avro, Parquet, ORC
20 сентября, 20:00 — 21:30
Построение пайплайнов / Очереди сообщений / Хранилища данных
По результатам модуля:
- добавляем stream-источник
- создаем схему в хранилище
- создаем дизайн
- оптимизируем под задачу
Очереди сообщений
- Kafka, RabbitMQ
- Потоковая обработка (виды обработки, описание Producer–consumer problem, пример архитектурного решения через Kafka, RabbitMQ, NATS)
- Google Dataflow paper (Event time vs processing time и так далее).
- Паттерны stream processing Joins, enricher, router. Event-sourcing.
25 сентября, 20:00 — 21:30
Домашние задания: 2
ДЗ
Архитектурный анализ применимости очереди сообщений для конкретного кейса. 1. Предложите задачу построения взаимодействия двух приложений близких к вам (примеры - слайды 18, 20)
2. Используя критерии на слайдах 15-16 (или предложите свои) проведите анализ вариантов взаимодействия и сделайте обоснованную рекомендацию
ДЗ
Анализ стримингового приложения по модели Dataflow. 1. (слайд 57) Рассмотрим стриминг приложение которое считает остаток на счете дебетовой карты:
• Получает события вида “timestamp, account, amount”, где amount может быть положительным или отрицательным
• Максимальное время задержки доставки событий: 2 секунды
• Если на счете недостаточно средств – приложение выдает алерт и прежний остаток, если достаточно – обновленный остаток
2. Прочитайте Dataflow paper (приложено в материалах) и развернуто ответьте на четыре вопроса описывающее это стриминговое приложение:
• Что считаем? (What?) Что считает приложение? Описание трансформации над событием
• Где по времени события? (Where?) Где во времени (над какими событиями на линии времени) происходят трансформации? Описание используемых окон
• Когда по времени обработки? (When?) Когда по времени обработки материализовать результат трансформации? Описание водяных знаков и триггеров
• Как связаны? (How?) Как связаны последующие результаты трансформации с предыдущими? Описание агрегации
(дополнительное задание: опишите как бы вы поступили в
случае поздней доставки данных, если задержка более двух секунд)
DWH. Хранилища данных - 1 часть
- Семейство MPP баз - назначение и особенности
- Логический и физический дизайн
- Vertica
27 сентября, 20:00 — 21:30
DWH. Хранилища данных - 2 часть
- Семейство MPP баз - назначение и особенности
- Логический и физический дизайн
- Google BigQuery
2 октября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Домашнее задание: проектирование витрины в Vertica (BigQuery)..
Хранилища NoSQL. Назначение и особенности.
- NoSQL Databases. HBase, Cassandra, Elasticsearch, Aerospike
- Key-value
- Cache
4 октября, 20:00 — 21:30
SQL-доступ к данным. Apache Hive.
9 октября, 20:00 — 21:30
Домашние задания: 1
ДЗ
HiveQL. Развернуть дистрибутив CDH
Самостоятельно проделать манипуляции с Hive с приложенными скриптами
Confluent Platform
- Apache Kafka & Confluent platform
- Schema registry. Данные с фиксированной схемой.
- KStreams. Фреймворк для потоковой обработки.
- KSQL. SQL на потоках данных.
11 октября, 20:00 — 21:30
Elasticsearch
- Знакомство с компонентами ELK-стэка
- Классы задач, для которых подходит ELK
16 октября, 20:00 — 21:30
Процессинг и доступ к данным
По результатам модуля:
- делаем вычисления, преобразования, агрегации данных (ETL)
- формируем конечные витрины (для ML / BI)
- обучаем простенькую модель
Apache Spark - 1 часть
- Spark - что это и зачем он нужен
- API - RDD, Dataset, Dataframe, операции над распределенными коллекциями
- Процесс вычисления в Spark - task, stage, оптимизатор запросов
18 октября, 20:00 — 21:30
Apache Spark - 2 часть
- Spark - что это и зачем он нужен
- API - RDD, Dataset, Dataframe, операции над распределенными коллекциями
- Процесс вычисления в Spark - task, stage, оптимизатор запросов
23 октября, 20:00 — 21:30
Spark Streaming
- Micro-batch обработка данных
- Классический Spark Streaming
- Structured Streaming
- Continuous processing
25 октября, 20:00 — 21:30
Доступ к данным, ноутбуки. Explore and visualize.
- Инструменты интерактивной аналитики
- Google Cloud Datalab
- Jupyter - интеграция с Apache Spark
30 октября, 20:00 — 21:30
Обучение моделей. ML.
Пример построения модели
1 ноября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Задание: обучаем собственную модель..
Обеспечивающие системы (мониторинг, оркестрация, тесты)
По результатам модуля:
- настроили мониторинг
- выстроили DevOps pipeline
- настроили метрики качества данных
Оркестрация
- Как организовать многоэтапные процессы обработки данных
- Инструменты оркестрации - Oozie, Airflow
6 ноября, 20:00 — 21:30
Интеграция, тестирование, развертывание. CI / CD. DevOps.
- Культура DevOps
- Работа в команде
- CI / CD
- Auto tests
8 ноября, 20:00 — 21:30
Мониторинг
- Инструменты мониторинга - Prometheus, Zabbix, Graphite, Grafana
- Специфика мониторинга процессов обработки данных
13 ноября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Задание: развернуть и настроить инструменты мониторинга. Проанализировать текущие показатели..
Data Quality. Контроль качества данных, мастер-данные, Troubleshooting.
- Data Quality and Consistency. Качество данных. MDM
- Ошибки в коде, логике, виды, последствия, как найти и устранить корневую причину
- Вопросы поддержки. Support
- Network, integration, data quality, system faults, disk space, executor out of memory, grants, access rights, security
- Метрики качества. Контроль качества. Data Fix - как исправлять найденные ошибки
- MDM: управление мастер-данными
15 ноября, 20:00 — 21:30
Case studies. Кейсы компаний.
Углубленные вопросы оптимизации. Фишки. Примеры, разбор
20 ноября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Задание: разработать проверки качества данных для витрины. Внедрить их автоматическое выполнение.. На предложенных примерах попытаться выполнить устранение ошибок (Data fix).
Бонус. Дальнейшее развитие Hard skills + Soft skills.
- Где искать ответы на вопросы. Ресурсы. Как быстро разбираться и решать проблемы.
- Benchmarking - умеем сравнивать инструменты для решения конкретных задач
- Как грамотно составить резюме (CV) + proof-read резюме участников курса
- Как развиваться в плане Soft skills, Hard skills. Contribution.
22 ноября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Задание: подготовить резюме (CV), отрецензировать резюме товарища. Завести аккаунт в LinkedIn..
Проектная работа
Выпускной проект: реализация задачи по выбранной тематике в реальном времени с применением парадигмы Map-Reduce кластере в виде pipeline (Kafka, Spark, Hadoop экосистема) и визуализация результатов.

Список возможных тем проектов будет предложен. Также можно взять задачу "с работы" или близкого себе проекта.
Вводное занятие по проектной работе
Слушатели курса смогут определиться с темой проекта (выбрать из предложенного списка или привнести задачу из деятельности своей компании), получить понимание какие ресурсы им необходимо использовать для работы.
27 ноября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Проектная работа.
Консультация по проектной работе
Слушатели курса получат комментарии относительно прогресса проектной работы, ответы на вопросы, рекомендации по реализации.
29 ноября, 20:00 — 21:30
Защита проектной работы
По окончании занятия слушатели курса получат разбор проектов, комментарии и оценку своей работы.
4 декабря, 20:00 — 21:30

Преподаватель

Артемий Козырь
Data Engineer, СИБУР
Более 4-х лет опыта работы с Хранилищами Данных, построении ETL/ELT, Аналитике данных и Визуализации.
Опыт работы над продуктами в компаниях PwC, Московская Биржа, Сбербанк, СИБУР.
Сферы интересов: KPIs and Scorecards / Budgeting and Planning / Retail Scoring / Next Best Offer / Reporting.

Верю в то, что данные – это ключевой элемент в принятии обоснованных и разумных бизнес-решений. Люблю находить простые решения для сложных задач. Не люблю повторять одни и те же ошибки, но с удовольствием приветствую новый опыт.

Образование: НИУ ВШЭ, факультет бизнес-информатики.
Преподаватель курсов:
Data Engineer

F.A.Q.: Наиболее часто задаваемые вопросы:

Нужно ли оплачивать обучение до Дня открытых дверей, если я хочу гарантированно попасть в группу?
Да, мы рекомендуем заранее оплатить обучение, чтобы гарантированно попасть в группу. В период проведения Дня открытых дверей резко возрастает количество желающих обучаться, поэтому может случиться так, что к окончанию Дня открытых дверей мест в группе не останется
Кто будет проводить День открытых дверей?
Проводить День открытых дверей будет преподаватель курса.
Как принять участие в Дне открытых дверей?
Для того, чтобы принять участие в Дне открытых дверей, оставьте свой e-mail в поле регистрации на мероприятие. Перед началом Дня открытых дверей мы пришлем вам ссылку, пройдя по которой, вы сможете присоединиться к вебинару.
Какие вопросы будем обсуждать на Дне открытых дверей?
На дне открытых дверей мы поговорим о проекте OTUS (о программе курса, почему мы не принимаем в группы новичков, почему учиться у нас интересно, но сложно), карьерных перспективах выпускников (почему вероятность карьерного роста у лучших студентов стремится к 100%), учебном процессе (оплатах, оценке знаний, сертификатах и прочих аспектах). Также ведущий мероприятия с радостью ответит на все ваши вопросы.