Data Engineer

Курс разработан для тех, кому по своей работе необходимо заниматься организацией и предобработкой данных для разных групп пользователей: конечные клиенты, аналитики, менеджеры. Продолжительность - 5 месяцев по 4 часа в неделю: 4 месяца занятия + 1 проект
Начало занятий
24 мая
Что даст вам этот курс

Курс "Data Engineer" предназначен для тех, кому по своей работе необходимо заниматься организацией и предобработкой данных для разных групп пользователей: конечные клиенты, аналитики, data scientists, менеджеры.


Выпускной проект: реализация задачи по выбранной тематике в реальном времени с применением парадигмы Map-Reduce кластере в виде pipeline (Kafka, Spark, Hadoop экосистема) и визуализация результатов.
Минимальные знания
Базовое программирование (Python, Java, Scala), основы работы с БД, базовая математика уровня вуза, желательно понимание основ машинного обучения с позиции Data Scienist-а
Программа обучения
Модуль 1
Data Engineering: задачи, инструменты, принципы. Введение в большие данные.
Модуль 2
Решение прикладных задач и сравнение инструментов. Case Studies.
Модуль 3
Культура DevOps. Разработка и тестирование. Вывод продукта.
Модуль 4
Сопровождение. Баги и инциденты. Контроль качества данных.
Модуль 5
Углубленные вопросы оптимизации. Фишки. Case studies.
Модуль 6
Проектная работа
Data Engineering: задачи, инструменты, принципы. Введение в большие данные.
Data Engineer
1 занятие:
- Кто этот специалист и зачем?
- Какие задачи решает?
- Какая ценность для бизнеса?
- Потребность на рынке. Навыки
- Дальнейшее развитие
- Data Driven Decisions
Основные классы задач Data Engineering
1 занятие:
- Инструменты для решения основных задач
- Введение в большие данные: где используют, экосистема и история развития фреймворков; описание NameNode, DataNode, ZooKeeper, HDFS
Решение прикладных задач и сравнение инструментов. Case Studies.
Основы Big Data, хранилищ данных, витрин данных, ETL-процессов
2 занятия:
- CAP theorem, Distributed Computing, MPP (Massive Parallel Processing)
- Эволюция аналитических хранилищ данных
- SQL + Not Only SQL
- Teradata, Oracle, Greenplum, Vertica
- Дистрибутивы Cloudera, Hortonworks. AWS, Google Cloud, Microsoft Azure
HDFS + MapReduce
2 занятия:
- Первые шаги: локальная установка кластера в виде VM или docker-образа; FsShell, работа с HDFS в Java, первая MapReduce задача wordcount
- Базы данных: архитектура HBase и Cassandra, работа с ними через shell, работа с ними в MapReduce
Добавление источников данных. Data Sources
2 занятия:
- Типы систем-источников. Логи, выгрузки из АС, flat files. Batch and Stream
- Потоковая обработка: виды обработки, описание Producer–consumer problem, пример архитектурного решения через Kafka, RabbitMQ, NATS, разбор простого примера на Apache Flink, Apache Spark Streaming
Фреймворки для обработки данных. SQL-доступ
3 занятия:
- Работа с Hive Sql, Impala, Drill, Presto, Spark, Ignite
- Описание UDF функций, запуск PySpark задачи
- Дополнительные расчеты и логика. Расчет фичей. Трансформации данных
- Алгоритмы обработки больших данных: сортировка, join, hash join
Streaming
3 занятия:
- 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
Выстраивание архитектуры и оркестрация ETL-процессов
3 занятия:
- Архитектура и принципы построения систем: лямбда архитектура, архитектура на независимых джобах, разработка yarn-сервиса; оркестрация через cron / airflow; мониторинг Grafana
- Data Pipelines. Стратегии обновления данных, историчность. Этапы.
Физическое хранение данных, индексирование
2 занятия:
- NoSQL Databases. HBase, Cassandra, Redis Solr, Elasticsearch, Aerospike, FoundationDB
- Формирование конечных витрин, Datasets
- Индексирование
- Партиционирование
Культура DevOps. Разработка и тестирование. Вывод продукта.
DevOps. Testing. Time 2 Market
1 занятие:
CI / CD. Разработка и тестирование патчей. Работа в команде
ML example
2 занятия:
- Разработка модели и вывод в эксплуатацию
- Spark ML. Основы машинного обучения: в виде решения kaggle задачи на Spark ML / Ignite ML)
Monitoring
1 занятие
Сопровождение. Баги и инциденты. Контроль качества данных.
Support. Software Defects and bugs
1 занятие:
- Ошибки в коде, логике, виды, последствия, как найти и устранить корневую причину
- Вопросы поддержки. Support
- Network, integration, data quality, system faults, disk space, executor out of memory, grants, access rights, security
Data Quality and Consistency. Качество данных. MDM
2 занятия:
- Метрики качества. Контроль качества. Data Fix - как исправлять найденные ошибки
- MDM: управление мастер-данными
Углубленные вопросы оптимизации. Фишки. Case studies.
Оптимизация производитель-ности. Performance Tuning
4 занятия:
- Оптимизация кода, алгоритмов
- Физическое хранение данных
- JOINs
- Статистики
- Компрессия данных
Консультации, аналитика
2 занятия:
- Запросы на поиск, анализ причин
- Анализ рисков и влияния функционала: при внедрении, изменении
- Sizing: оценка занимаемого места
- Benchmarking: сравнение производительности инструментов и алгоритмов
Проектная работа
Вводное занятие по проектной работе
Слушатели курса смогут определиться с темой проекта (выбрать из предложенного списка или привнести задачу из деятельности своей компании), получить понимание какие ресурсы им необходимо использовать для работы.
Консультация по проектной работе
Слушатели курса получат комментарии относительно прогресса проектной работы, ответы на вопросы, рекомендации по реализации.
Защита проектной работы
По окончании занятия слушатели курса получат разбор проектов, комментарии и оценку своей работы.
Дата выдачи сертификата:
Ваш сертификат
otus.ru
Константин Константинопольский
успешно закончил курс
«Data Engineer»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001
otus.ru
Константин Константинопольский
успешно закончил курс
«Data Engineer»
Успешных заданий:
16 из 16
Проектная работа:
Распределённая система сетевого мониторинга
Виталий Чибриков
Генеральный директор
№ 0001