Data Engineer

Лучшие практики по приготовлению данных. Загрузка, обработка, организация хранения и доступа к данным с использованием современных инструментов
Начало занятий
29 мая
Что даст вам этот курс

  • знание ключевых способов хранения и методов обработки больших объемов данных, а также стоимости их внедрения

  • умение работать с распределенными система в контексте Hadoop экосистемы

  • практические навыки разработки приложений с использованием программной модели MapReduce

  • опыт использования распределенной файловой системы (HDFS)


  • Курс будет полезен разработчикам и администраторам БД, стремящимся повысить профессиональный уровень и заниматься интересными задачами, освоить новые инструменты, а также увеличить заработную плату.


    После обучения Data Engineering вы станете востребованным специалистом, который:

    • разворачивает, налаживает и оптимизирует инструменты обработки данных

    • адаптирует датасеты для дальнейшей работы и аналитики

    • создает сервисы, которые используют результаты обработки больших объемов данных

    • отвечает за архитектуру данных в компании



    • Real Case Studies: примеры внедрений, использования инструментов, оптимизации производительности, проблемы, ошибки и прикладные результаты

      Высокая практическая направленность:


      В течение курса будем инкрементально создавать работающий продукт, решая прикладные задачи

      Целостная картина вызовов и задач современного бизнеса, и роли Инженера


      Данных в их решении

      Востребованность у работодателей


      21 работодатель уже готовы позвать на собеседование выпускников курса





        Data Engineer - современная и крайне актуальная профессия, потому что:
      • Прежде чем попасть на стол CEO в виде квартального отчета или индивидуальной подборкой книг в email-рассылке, данные проделывают длительный и сложный, полный преобразований и трансформаций, путь, требующий непрерывного мониторинга и оркестрации.

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

      • Работа инженеров данных, внешне незаметная, удивительно сложна и интересна по своей специфике. Невероятное количество закономерностей и связей, инструментов и подходов, параметров и настроек не оставят равнодушным ни один пытливый ум в поисках оптимальных и элегантных решений.
Преподаватели
Егор Матешук
Senior Data Engineer, MaximaTelecom
Артемий Козырь
Data Engineer, СИБУР
Николай Рекубратский
Data Engineer teamlead, XING
Последние 4 года работает с большими данными: строит системы для обработки больших данных, консультирует по вопросам построения инфраструктуры для аналитики. В основном проекты связаны с решениями на базе Hadoop и Vertica. В последнее время активно исследует облачные хранилища данных. Ранее также проводил исследования потребительской активности для банков и сетевых магазинов.

До 2018 года руководил отделом инфраструктуры данных в Ostrovok.ru. Сейчас занимает аналогичную позицию в MaximaTelecom (один из проектов компании - публичная сеть Wi-Fi в метро Москвы).

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

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

Образование: НИУ ВШЭ, факультет бизнес-информатики.
Тимлид команды дата инженеров в компании XING, Германия.

Спикер российских и международных конференций: Railsclub, Hello World Conf (Porto), DevConf, CHEBiT, Стачка.

Ментор Code University Berlin.
Егор
Матешук
Артемий
Козырь
Николай
Рекубратский
Преподаватели
Егор Матешук
Senior Data Engineer, MaximaTelecom
Последние 4 года работает с большими данными: строит системы для обработки больших данных, консультирует по вопросам построения инфраструктуры для аналитики. В основном проекты связаны с решениями на базе Hadoop и Vertica. В последнее время активно исследует облачные хранилища данных. Ранее также проводил исследования потребительской активности для банков и сетевых магазинов.

До 2018 года руководил отделом инфраструктуры данных в Ostrovok.ru. Сейчас занимает аналогичную позицию в MaximaTelecom (один из проектов компании - публичная сеть Wi-Fi в метро Москвы).

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

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

Образование: НИУ ВШЭ, факультет бизнес-информатики.
Николай Рекубратский
Data Engineer teamlead, XING
Тимлид команды дата инженеров в компании XING, Германия.

Спикер российских и международных конференций: Railsclub, Hello World Conf (Porto), DevConf, CHEBiT, Стачка.

Ментор Code University Berlin.
Минимальные знания
Необходимое:

  • Навыки программирования на Python/ Java/ Scala: можешь удалить дублирующиеся записи в БД или написать простейший REST-сервис
  • Основы работы с БД: способен установить БД (PostgreSQL или MySQL), помнишь как писать SQL запросы
  • Базовые знания Linux: знаешь как заходить на удаленный сервер по ssh
  • Будет плюсом:

  • Понимание основ машинного обучения с позиции Data Scienist-а или аналитика
  • Опыт и желание разбираться в бизнес-логике продукта для выбора оптимального под нее инструментария
  • Требование по железу: минимум 8 GB RAM + Docker, JDK 8
Процесс обучения
Обучение проходит в формате онлайн-вебинаров на русском языке.
Регулярность занятий: 2 раза в неделю по 2 академических часа (1.5 астрономических часа).

Каждую неделю предполагается выполнение 1 домашнего задания (время на выполнение: 2-4 академических часа). По всем практическим заданиям команда преподавателей дает развернутый фидбек.

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

- Какие задачи решает?
- Инструменты для решения основных задач
- Введение в большие данные: где используют, экосистема и история развития фреймворков
29 мая, 20:00 — 21:30
Лектор: Артемий Козырь
Архитектуры (e.g. kappa, lambda)
- CAP theorem, Distributed Computing, MPP (Massive Parallel Processing).
- Эволюция аналитических хранилищ данных
- SQL + Not Only SQL.
- Batch + Stream
- Lambda, Kappa
3 июня, 20:00 — 21:30
Лектор: Николай Рекубратский
Платформы Cloudera и HortonWorks
- Кто такие Cloudera и HortonWorks и что за экосистемы они строят
- Как собрать кластер Hadoop на основе популярных дистрибутивов CDH и HDP
5 июня, 20:00 — 21:30
Лектор: Егор Матешук
Загрузка и форматы данных (Data Ingestion)
По результатам модуля:
- грузим в файловую систему
- смотрим форматы
- сравниваем сжатия
- настраиваем репликацию
Инструменты выгрузки данных из сторонних систем - 1 часть
- Типы систем-источников. Структурированные, полу- и неструктурированные данные. Логи, выгрузки из АС, Clickstream
- Инструменты для извлечения и загрузки данных - Flume, Sqoop, StreamSets, Fluentd
- Практические примеры загрузки данных из сервисных баз данных
10 июня, 20:00 — 21:30
Лектор: Егор Матешук
Инструменты выгрузки данных из сторонних систем - 2 часть
- Типы систем-источников. Структурированные, полу- и неструктурированные данные. Логи, выгрузки из АС, Clickstream
- Инструменты для извлечения и загрузки данных - Flume, Sqoop, StreamSets, Fluentd
- Практические примеры загрузки данных из сервисных баз данных
12 июня, 20:00 — 21:30
Лектор: Егор Матешук
Хранилища сырых данных - 1 часть
- Принципы работы распределенных файловых систем
- Структура кластера HDFS
- Тонкости настройки HDFS - конфигурация, защита, обеспечение отказоустойчивости
17 июня, 20:00 — 21:30
Лектор: Егор Матешук
Хранилища сырых данных - 2 часть
- Принципы работы распределенных файловых систем
- Структура кластера HDFS
- Тонкости настройки HDFS - конфигурация, защита, обеспечение отказоустойчивости
19 июня, 20:00 — 21:30
Лектор: Егор Матешук
Форматы
- Назначение row-based и column-based форматов
- Обзор наиболее распространенных форматов: Avro, Parquet, ORC
24 июня, 20:00 — 21:30
Лектор: Артемий Козырь
Построение пайплайнов / Очереди сообщений / Хранилища данных
По результатам модуля:
- добавляем stream-источник
- создаем схему в хранилище
- создаем дизайн
- оптимизируем под задачу
Очереди сообщений / Streaming
- Kafka, RabbitMQ
- Потоковая обработка (виды обработки, описание Producer–consumer problem, пример архитектурного решения через Kafka, RabbitMQ, NATS, разбор простого примера на Apache Flink, Apache Spark Streaming)
- Ingestion: Debezium, logstash, FluentD. Google Dataflow paper (Event time vs processing time и так далее). Apache Kafka & Confluent platform (schema registry, KStreams, KSQL). Паттерны stream processing Joins, enricher, router. Event-sourcing. Примеры обработки на Spark, Flink, Akka-Streams, KStreams. Облака: Amazon Kinesis, Google Cloud Pub-Sub, Google Dataflow. Cloud functions
26 июня, 20:00 — 21:30
Лектор: Николай Рекубратский
Хранилища данных SQL, MPP - 1 часть
- Семейство MPP баз - назначение и особенности
- Логический и физический дизайн
- Vertica
1 июля, 20:00 — 21:30
Лектор: Егор Матешук
Хранилища данных SQL, MPP - 2 часть
- Семейство MPP баз - назначение и особенности
- Логический и физический дизайн
- Teradata, ClickHouse
3 июля, 20:00 — 21:30
Лектор: Артемий Козырь
NoSQL
- NoSQL Databases. HBase, Cassandra, Elasticsearch, Aerospike, FoundationDB
- Key-value
- Cache
8 июля, 20:00 — 21:30
Лектор: Николай Рекубратский
Процессинг и доступ к данным
По результатам модуля:
- делаем вычисления, преобразования, агрегации данных (ETL)
- формируем конечные витрины (для ML / BI)
- обучаем простенькую модель
Apache Spark - 1 часть
- Spark - что это и зачем он нужен
- API - RDD, Dataset, Dataframe, операции над распределенными коллекциями
- Процесс вычисления в Spark - task, stage, оптимизатор запросов
10 июля, 20:00 — 21:30
Лектор: Егор Матешук
Apache Spark - 2 часть
- Spark - что это и зачем он нужен
- API - RDD, Dataset, Dataframe, операции над распределенными коллекциями
- Процесс вычисления в Spark - task, stage, оптимизатор запросов
15 июля, 20:00 — 21:30
Лектор: Егор Матешук
Стримминг - Spark Streaming, Flink
17 июля, 20:00 — 21:30
Лектор: Николай Рекубратский
Доступ к данным, ноутбуки
- Инструменты интерактивной аналитики
- Apache Zeppelin - интерактивный инструмент для анализа больших данных
- Jupyter - интеграция с Apache Spark
22 июля, 20:00 — 21:30
Лектор: Артемий Козырь
ML
Пример построения модели
24 июля, 20:00 — 21:30
Лектор: Николай Рекубратский
Обеспечивающие системы (мониторинг, оркестрация, тесты)
По результатам модуля:
- настроили мониторинг
- выстроили DevOps pipeline
- настроили метрики качества данных
Оркестрация
- Как организовать многоэтапные процессы обработки данных
- Инструменты оркестрации - Oozie, Airflow
29 июля, 20:00 — 21:30
Лектор: Егор Матешук
DevOps, Тестирование, деплой (CI / CD)
- Культура DevOps
- Работа в команде
- CI / CD
- Auto tests
31 июля, 20:00 — 21:30
Лектор: Артемий Козырь
Контроль качества данных, мастер-данные + 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: управление мастер-данными
5 августа, 20:00 — 21:30
Лектор: Артемий Козырь
Мониторинг
- Инструменты мониторинга - Prometheus, Zabbix, Graphite, Grafana
- Специфика мониторинга процессов обработки данных
7 августа, 20:00 — 21:30
Лектор: Егор Матешук
Case studies. Примеры и разбор решения прикладных задач
Углубленные вопросы оптимизации. Фишки. Примеры, разбор
12 августа, 20:00 — 21:30
Лектор: Артемий Козырь
Дальнейшее развитие. Hard skills + Soft skills. Бонус
- Где искать ответы на вопросы. Ресурсы. Как быстро разбираться и решать проблемы.
- Benchmarking - умеем сравнивать инструменты для решения конкретных задач
- Как грамотно составить резюме (CV) + proof-read резюме участников курса
- Как развиваться в плане Soft skills, Hard skills. Contribution.
14 августа, 20:00 — 21:30
Лектор: Артемий Козырь
Проектная работа
Выпускной проект: реализация задачи по выбранной тематике в реальном времени с применением парадигмы Map-Reduce кластере в виде pipeline (Kafka, Spark, Hadoop экосистема) и визуализация результатов.

Список возможных тем проектов будет предложен. Также можно взять задачу "с работы" или близкого себе проекта.
Вводное занятие по проектной работе
Слушатели курса смогут определиться с темой проекта (выбрать из предложенного списка или привнести задачу из деятельности своей компании), получить понимание какие ресурсы им необходимо использовать для работы.
Домашние задания: 1
1 Проектная работа
Консультация по проектной работе
Слушатели курса получат комментарии относительно прогресса проектной работы, ответы на вопросы, рекомендации по реализации.
Защита проектной работы
По окончании занятия слушатели курса получат разбор проектов, комментарии и оценку своей работы.
Выпускной проект
Выпускной проект: реализация задачи по выбранной тематике в реальном времени с применением парадигмы Map-Reduce кластере в виде pipeline (Kafka, Spark, Hadoop экосистема) и визуализация результатов.

Список возможных тем проектов будет предложен. Также можно взять задачу "с работы" или близкого себе проекта.
После обучения вы
Заберете с собой:
  • основные и дополнительные материалы, и видеозаписи занятий;

  • образцы кода;

  • собственный проект, который можно будет показывать при трудоустройстве;

  • сертификат о прохождении обучения.

  • В результате обучения вы:
  • будете иметь представление об основных классах задач Инженера Данных, инструментах, предназначенных для их решения, а также их преимуществах и особенностях;

  • научитесь выстраивать пайплайны пакетной и потоковой обработки данных;

  • сможете проектировать хранилища данных и организовывать оптимальный доступ для потребителей;

  • получите ряд полезных навыков: умение грамотно составлять CV, проходить интервью, выстраивать совместную работу с коллегами
Дата выдачи сертификата:
Ваш сертификат
otus.ru
Константин Константинопольский
успешно закончил курс
«Data Engineer»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001
otus.ru
Константин Константинопольский
успешно закончил курс
«Data Engineer»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001