Открытый вебинар «Lean Data Engineering: большие данные при небольшом бюджете» 20.05.2019 в 20:00 | OTUS
Скидки на курсы июня!
Только два дня! Пишите в чат, чтобы получить максимальную скидку ➞
Написать в чат

Курсы

Программирование
Web-разработчик на Python Разработчик на Spring Framework iOS Разработчик. Продвинутый курс v 2.0. PostgreSQL C# ASP.NET Core разработчик Разработчик C# Архитектор программного обеспечения Разработчик C++ MS SQL Server разработчик Android-разработчик. Базовый курс Архитектор высоких нагрузок Backend-разработчик на PHP Алгоритмы для разработчиков Team Lead 2.0 Python-разработчик. Базовый курс VOIP инженер Базы данных Разработчик Golang Разработчик программных роботов (RPA) на базе UiPath и PIX Разработчик голосовых ассистентов и чат-ботов Agile Project Manager в IT
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02
Проходил 20 мая 2019 года в 20:00

Открытый вебинар
Lean Data Engineering: большие данные при небольшом бюджете

Открытый вебинар онлайн

Обсудим, как построить эффективную и масштабируемую систему обработки данных для небольшой компании или стартапа с минимальными затратами. В качестве практики познакомимся с инструментами обработки данных Google Cloud: заранее создайте google-аккаунт, пройдите регистрацию (https://console.cloud.google.com/) и заведите проект с произвольным названием — это займет не более 5 минут.
Преподаватель
Егор Матешук

Запись

О курсе

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

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

Программа курса
Модуль 1
Инженер Данных: задачи, инструменты, платформы
Модуль 2
Процессинг. Доступ к данным. ML
Модуль 3
Загрузка и форматы данных (Data Ingestion)
Модуль 4
Очереди сообщений. Хранилища данных. SQL-доступ.
Модуль 5
Обеспечивающие системы. Оркестрация, тестирование, мониторинг
Модуль 6
Проектная работа
Инженер Данных: задачи, инструменты, платформы
По результатам модуля:
- имеем представление о задачах и инструментах
- знаем, умеем объяснить, сравнить, применять
- умеем развернуть кластер в облаке
Инженер Данных. Задачи, навыки, инструменты, потребности на рынке
познакомиться;
обсудить правила работы и общения;
объяснить, кто такой Инженер Данных и какие перед ним стоят задачи.
Домашние задания: 1
ДЗ
Домашнее задание: анализ рынка Инженер Данных: РФ, USA, EU. Источники: Glassdoor, HH, Monster, LinkedIn
Формат: Свободный - Google Doc, Jupyter, просто текст
Вопросы:
- Рынок DE: Количество вакансий, отрасли компаний, размер компаний
- Требования: Популярные языки, технологии, фреймворки
- Цели на обучение, акценты на интересующие темы и технологии
Эволюция подходов работы с данными. Базовые принципы и понятия
проследить эволюцию подходов работы с данными;
получить представление о технологиях и инструментах;
рассмотреть принципы построения архитектуры аналитического приложения.
Облачные платформы. Дистрибутивы Cloudera и Hortonworks
объяснить, чем отличаются облака и on-premise;
выяснить, какие платформы есть для каждого из вариантов;
объяснить, чем определяется выбор конкретной платформы;
провести обзор инструментов для обработки данных: Cloudera, GCP, AWS.
8 июня, 20:00 — 21:30
Лектор: Егор Матешук
Домашние задания: 1
ДЗ
Развернуть дистрибутив Cloudera. Инструкции к ДЗ
https://docs.google.com/document/d/1iLTiN7D1kM4njOEbF_f_YGT7Jj7OnvT_WjbU3rX6Hzw/edit?usp=sharing
Форматы данных и их особенности
определить факторы выбора формата хранения данных;
объяснить разницу между Row-based и Column-based форматами;
провести обзор наиболее распространенных форматов.
11 июня, 20:00 — 21:30
Лектор: Артемий Козырь
Процессинг. Доступ к данным. ML
По результатам модуля:
- делаем вычисления, преобразования, агрегации данных (ETL)
- формируем конечные витрины (для ML / BI)
- обучаем простенькую модель
Введение в Scala
изучить основы языка Scala;
научиться собирать простейшее Scala-приложение.
15 июня, 20:00 — 21:30
Лектор: Михаил Юрченков
Apache Spark - 1 часть
познакомиться с Apache Spark;
научиться работать с API Spark.
18 июня, 20:00 — 21:30
Лектор: Егор Матешук
Apache Spark - 2 часть
научиться оптимизировать приложения на Spark.
22 июня, 20:00 — 21:30
Лектор: Егор Матешук
Домашние задания: 1
ДЗ
Введение в Spark + Гид по безопасному Бостону. Подробную инструкцию по выполнению заданий смотрите в документах по ссылкам:

1) Инструкция к занятию "Введение в Scala: https://docs.google.com/document/d/1HPhwYCQ1AYklBeQ75RVsYV4MMGBEw_UBeTWp0c0Q678/edit?usp=sharing

2) Гид по безопасному Бостону: https://docs.google.com/document/d/1elWInbWsLrIDqB4FMMgFTUMNEmiYev9HJUfg9LXxydE/edit?usp=sharing
Очереди сообщений, Kafka, Confluent platform
обсудить:
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
Лектор: Егор Матешук
Spark Streaming
объяснить о различных моделях обработки потоков данных;
научиться использовать Spark Streaming для обработки потоков данных.
29 июня, 20:00 — 21:30
Лектор: Егор Матешук
Production Code на Python. Организация и Packaging кода
превратить свой код ML модели в готовый вид к работе с продакшн системами;
понять организацию и структура кода, научится паковать свой код с помощью python подходов.
Docker и REST-архитектура
рассказать о REST архитектуре и ее применении;
пользоваться одним из широко распространенных веб фреймворков Flask и с его помощью превращать свою модель в готовый веб сервис. рассказать о docker, для чего он используется и где применяется; использовать docker для packaging своего кода;
использовать docker для деплоя на AWS системы.
Деплоймент моделей в Sagemaker
использовать мощный инструмент ML на AWS-Amazon Sagemaker для разработки и тренировки собственных моделей и создания endpoints для работы с веб сервисами.
Загрузка и форматы данных (Data Ingestion)
По результатам модуля:
- грузим в файловую систему
- смотрим форматы
- сравниваем сжатия
- настраиваем репликацию
Распределенные файловые системы
- Принципы работы распределенных файловых систем
- Структура кластера HDFS
- Тонкости настройки HDFS - конфигурация, защита, обеспечение отказоустойчивости
9 июля, 20:00 — 21:30
Инструменты выгрузки данных из сторонних систем - 1 часть
- Типы систем-источников. Структурированные, полу- и неструктурированные данные. Логи, выгрузки из АС, Clickstream
- Инструменты для извлечения и загрузки данных - Flume, Sqoop, StreamSets, Fluentd, Debezium, logstash
- Практические примеры загрузки данных из сервисных баз данных
13 июля, 20:00 — 21:30
Инструменты выгрузки данных из сторонних систем - 2 часть
- Типы систем-источников. Структурированные, полу- и неструктурированные данные. Логи, выгрузки из АС, Clickstream
- Инструменты для извлечения и загрузки данных - Flume, Sqoop, StreamSets, Fluentd
- Практические примеры загрузки данных из сервисных баз данных
16 июля, 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-командой.
Очереди сообщений. Хранилища данных. SQL-доступ.
По результатам модуля:
- добавляем stream-источник
- создаем схему в хранилище
- создаем дизайн
- оптимизируем под задачу
DWH. Хранилища данных - 1 часть
- Семейство MPP баз - назначение и особенности
- Логический и физический дизайн
- Vertica
27 июля, 20:00 — 21:30
DWH. Хранилища данных - 2 часть
- Семейство MPP баз - назначение и особенности
- Логический и физический дизайн
- Google BigQuery
30 июля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Домашнее задание: проектирование витрины в Vertica (BigQuery)..
Хранилища NoSQL. Назначение и особенности
- NoSQL Databases. HBase, Cassandra, Elasticsearch, Aerospike
- Key-value
- Cache
3 августа, 20:00 — 21:30
SQL-доступ к данным. Apache Hive.
6 августа, 20:00 — 21:30
Домашние задания: 1
ДЗ
HiveQL. Развернуть дистрибутив CDH
Самостоятельно проделать манипуляции с Hive с приложенными скриптами
ElasticSearch
- Знакомство с компонентами ELK-стэка
- Классы задач, для которых подходит ELK
10 августа, 20:00 — 21:30
Обеспечивающие системы. Оркестрация, тестирование, мониторинг
По результатам модуля:
- настроили мониторинг
- выстроили DevOps pipeline
- настроили метрики качества данных
Оркестрация
- Как организовать многоэтапные процессы обработки данных
- Инструменты оркестрации - Oozie, Airflow
13 августа, 20:00 — 21:30
Интеграция, тестирование, развертывание. CI / CD. DevOps
- Культура DevOps
- Работа в команде
- CI / CD
- Auto tests
17 августа, 20:00 — 21:30
Мониторинг
- Инструменты мониторинга - Prometheus, Zabbix, Graphite, Grafana
- Специфика мониторинга процессов обработки данных
20 августа, 20:00 — 21:30
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: управление мастер-данными
24 августа, 20:00 — 21:30
Case studies. Кейсы компаний.
Углубленные вопросы оптимизации. Фишки. Примеры, разбор
27 августа, 20:00 — 21:30
Бонус. Дальнейшее развитие Hard skills + Soft skills
- Где искать ответы на вопросы. Ресурсы. Как быстро разбираться и решать проблемы.
- Benchmarking - умеем сравнивать инструменты для решения конкретных задач
- Как грамотно составить резюме (CV) + proof-read резюме участников курса
- Как развиваться в плане Soft skills, Hard skills. Contribution.
31 августа, 20:00 — 21:30
Проектная работа
Выпускной проект: реализация задачи по выбранной тематике в реальном времени с применением парадигмы Map-Reduce кластере в виде pipeline (Kafka, Spark, Hadoop экосистема) и визуализация результатов.

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

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

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

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

Образование: МФТИ, факультет инноваций и высоких технологий по специальности прикладная математика и физика.
Преподаватель курсов:
Data Engineer
🎁 Дарим сертификаты на скидку!
Запишитесь на июньскую трансляцию интересного вам дня открытых дверей и участвуйте в Акции ➞