Скоро на All-DAR Инженер данных (обновление) [karpov.cources] [Евгений Ермаков, Валерий Соколов, Роман Бунин] [Повтор]

ALL DAR Bot

🛡 МОДЕРАТОР 🛡
Регистрация
26 Март 2018
Сообщения
85.556
Название: Инженер данных (обновление) [karpov.cources] [Евгений Ермаков, Валерий Соколов, Роман Бунин] [Повтор]

72cc5628c9deda2c17158dfde2877a98.png


Описание:
Инженерия данных от проектирования до нетривиальной обработки.

Научитесь правильно готовить данные любых размеров и сложности.

Обучающие выборки для машинного обучения и красивые графики для отчётов не появляются сами собой: данные нужно собирать, хранить, валидировать и комбинировать между собой, быстро реагируя на изменения в их структуре.

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

Для эффективной работы с данными одного инструмента недостаточно — необходимо учитывать все взаимосвязи большого хранилища, понимать потребности заказчика и воспринимать данные как конечный продукт.

Сильный инженер данных за счёт широты знаний и понимания архитектуры DWH способен подобрать правильные инструменты под любые задачи и донести результат до потребителей данных.

Кому подойдет этот курс:

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

  • Аналитик данных

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

  • Инженер данных

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

  • BI-разработчик

    Занимаетесь развитием систем бизнес-аналитики, хотите освоить архитектуру современных хранилищ данных и научиться их проектировать

  • Backend-разработчик

    Имеете опыт бэкенд-разработки и хотите применить его для решения задач, связанных с хранением и обработкой больших данных

Какие инструменты освоите:

Хранение

  • Hadoop
  • S3
  • Greenplum
  • PostgreSQL

Обработка

  • Python
  • SQL
  • Hive
  • Spark
  • Kafka

Машинное обучение

  • ML Flow
  • Spark ML

Визуализация

  • SuperSet
  • Tableau
  • DataLens

Оркестраторы

  • Airflow

Программа

  1. Проектирвоание DWH
  2. Реляционные и MPP СУБД
  3. Автоматизация ETL-ПРОЦЕССОВ
  4. BIG DATA
  5. Промежуточный проект
  6. Облачное хранилище
  7. Визуализация данных
  8. BIG ML
  9. Управление моделями
  10. Управление данными

Спойлер: Подробная программа Проектирвоание DWH

Data Warehouse — централизованное хранилище данных из разных источников. Познакомимся с его верхнеуровневой логической архитектурой, рассмотрим её основные компоненты и разберём на практике разные подходы к проектированию детального слоя DWH.

1. Архитектура DWH

Узнаем, что такое хранилище данных, как оно устроено и зачем в нём столько слоев. Обсудим и сравним подходы Инмона и Кимбалла к построению DWH.

Нормальные формы

Познакомимся с важными аспектами теории нормальных форм, процессами нормализации и денормализации баз данных.

Методология Dimensional Modeling

Многомерное моделирование является классическим подходом к созданию витрин данных. Рассмотрим популярные схемы — «звезда», «снежинка» и «созвездие». Обсудим таблицы фактов и измерений, поговорим о вариантах хранения медленно меняющихся измерений.

Проектирование логической модели DWH

Спроектируем и опишем предметную область с помощью пройденных методологий.

Методология Data Vault

Data Vault — один из современных подходов к проектированию хранилищ данных. Рассмотрим особенности и предпосылки возникновения новой методологии. Обсудим основные сущности Data Vault — Hub, Link, Satellite.

Методология Anchor Modeling

Если довести нормализацию до предельной формы, получится Anchor Modeling. Рассмотрим особенности этой методологии и обсудим её основные сущности — Anchor, Link, Knot, Attribute

Сравнение методологий проектирования

Сравним все рассмотренные подходы и выясним, как выбрать оптимальный для решения конкретной задачи.
Реляционные и MPP СУБД

Начнём погружение в инженерию данных со знакомства с реляционными и MPP базами данных. Рассмотрим их архитектуру, обсудим популярные решения и узнаем, в каких случаях MPP СУБД оказываются лучше традиционных. Научимся готовить PostgreSQL и MPP базы данных на примере Greenplum.

1. Архитектура реляционных MPP баз данных

Рассмотрим, как устроены реляционные и MPP базы данных, и узнаем, для каких задач они подходят.

2. Объекты баз данных

Поговорим о таблицах и индексах, обсудим последовательности и возможные триггеры, рассмотрим процедуры и функции.

3. Подключение к PostgreSQL и Greenplum. Работа со словарем данных

Познакомимся с популярными клиентами для подключения к PostgreSQL и Greenplum. Посмотрим на основные объекты словаря данных и их содержимое. Научимся с помощью запросов получать информацию об объектах базы данных.

Создадим кластер PostgreSQL, создадим таблицы и выполним запросы к ним.

4. Обработка запросов в традиционных и MPP СУБД

Обсудим особенности построения запросов и научимся проводить анализ плана запроса. Поговорим об эффективных способах получения данных из Greenplum, разберёмся, чем Greenplum отличается от обычных реляционных баз данных, и рассмотрим особенности других популярных решений.

5. Обработка запросов в традиционных и MPP СУБД

Подключимся к кластеру Greenplum при помощи любого клиента (например, DBeaver). Изучим объекты в схеме tpch1. Построим план запроса, выполним "explain analyze", оценим фактические затраты на выполнение запроса и сформулируем выводы.

6. Применение R, Python и GeoSpatial в расчетах на Greenplum

Научимся проводить расчёты на R и Python прямо внутри Greenplum. Поработаем с пространственными объектами при помощи библиотеки PostGIS.

7. Применение R, Python и GeoSpatial в расчетах на Greenplum

Используя различные операторы и функции в GreenPlum, найдем информацию об имеющихся данных.
Автоматизация ETL-ПРОЦЕССОВ

ETL — ключевой процесс в управлении хранилищами данных. Рассмотрим принципы и основные этапы его построения. Познакомимся с популярным инструментом Airflow, подробно разберём его основные компоненты и научимся с его помощью автоматизировать ETL-пайплайны.

1. ETL-процессы

Рассмотрим основные принципы построения ETL-процессов и познакомимся с планировщиками задач (шедулерами).

2. Знакомство с Airflow

Познакомимся с Airflow — инструментом для оркестровки ETL-процессов. Рассмотрим его основные компоненты: воркер, шедулер, веб-сервер, базу данных. Создадим в Airflow несколько задач (тасков), объединим их в цепочку (DAG) и посмотрим, как это работает на практике.

3. Сложные пайплайны, часть 1.

Скачаем репозиторий, настроим IDE для работы с ним. Создадим даг из нескольких тасков. Запушим даг в репозиторий и убедимся, что даг появился в интерфейсе airflow и отрабатывает без ошибок.

4. Сложные пайплайны, часть 2.

Для более сложных пайплайнов в Airflow есть дополнительные инструменты: сабдаги и группы тасков для группировки задач, Trigger Rules и BranchPythonOperator для настраивания правил, Jinja для параметризации и XCom для передачи данных между тасками. Научимся использовать все эти инструменты в работе.

Доработаем даг, который создали на прошлом занятии по заданным параметрам.

5. Разработка своих плагинов

В Airflow есть много готовых операторов, но иногда требуется автоматизировать работу с API или реализовать свой обработчик для стандартного источника. Научимся писать собственные хуки, операторы и сенсоры.

С помощью API найдём три особенные локации сериала "Рик и Морти".

6. Установка и настройка Airflow

Есть несколько способов развернуть Airflow: просто запустить pip3 install apache-airflow, развернуть готовый докер-образ или организовать хайлоад с кластеризацией. Обсудим плюсы и минусы каждого подхода. Посмотрим, какие настройки есть у Airflow, и научимся управлять инструментом через интерфейс командной строки.
BIG DATA

Познакомимся с механизмами распределённого хранения больших данных на базе Hadoop, разберём основные паттерны реализации их распределённой обработки. Рассмотрим вопросы отказоустойчивости и восстановления после сбоев. Поговорим о потоковой обработке данных, методах и средствах мониторинга и профилирования заданий Spark.

1. Основы Hadoop. HDFS

Подробно рассмотрим Hadoop Distributed File System — реализацию идеи распределённого отказоустойчивого хранения в Hadoop экосистеме.

2. Основы Hadoop/ YARN, MapReduce

Познакомимся с универсальным менеджером ресурсов YARN, рассмотрим реализацию MapReduce парадигмы, обсудим её сильные и слабые стороны.

3. Основы Hadoop. YARN, MapReduce

Создадим S3 бакет в Object Storage и скопируем в него данные. Напишем map-reduce приложение, вычисляющее отчет на каждый месяц 2020 года определённого вида.

4. Hive. SQL для Big Data

Обсудим применение SQL на больших данных, рассмотрим всё от запросов до уровней хранения.

5. Hive. SQL для Big Data

Создадим S3 бакет в Object Storage и скопируем в него данные. После этого создим БД, зарегистрируем таблицу, подключимся к вашему hive и выполним SQL запрос.

6. HBase. Масштабируемая колоночная база данных.

Поговорим о NoSQL базах данных и рассмотрим колоночную базу данных в Hadoop.

7. Основы Spark

Познакомимся с основными идеями Spark, обсудим его отличия от MapReduce, поговорим про модель вычислений и RDD.

8. Spark SQL. Dataframes

Обсудим Spark Dataframe и научимся использовать SQL в Spark.

9. Основы Spark

Изучим данные от авиакомпанни и построим сводные таблицы при помощи Apache Spark.

10. Kafka. Spark Streaming

Поработаем с Kafka — масштабируемым брокером сообщений. Научимся обрабатывать данные на лету с помощью Spark Streaming.

11. Отладка, профилирование и мониторинг Spark Job
Промежуточный проект

Для эффективной отработки навыков в курсе «Инженер данных» есть промежуточный практический проект, который воссоздает etl-процессы (airflow) крупной двухуровневой платформы данных. Проект максимально приближен по сути к рабочим задачам дата-инженера. В процессе работы над ним вы закрепите понимание инструментов airflow, spark + s3 и greenplum и поймете, как использовать их в связке друг с другом.

Проект доступен тем, кто прошел модуль Big data, на его выполнение дается две недели — в этот период не будут открываться другие уроки, чтобы вы не отвлекались.
Облачное хранилище

Рассмотрим облачные решения и инструменты для построения DWH и Data Lake. Познакомимся с Kubernetes и научимся применять его для работы с данными. Поработаем с облаком на практике, рассмотрим процесс установки и настройки JupyterHub и Spark в Kubernetes.

1. Введение в облако

Поговорим об основных моделях облачных услуг: IaaS, PaaS, SaaS. Обсудим основы создания и использования виртуальных машин и сервисов. На практике рассмотрим работу виртуальных машин в облаке.

2. Введение в облако

Сделаем минимум для фундамента инфраструктуры в облаке — развернем виртуальную машину.

3. Облачная инфраструктура

Разберём ключевые особенности облачной инфраструктуры в контексте работы с данными. Выясним, на что стоит обращать внимание при разворачивании Hadoop, ClickHouse и Greenplum в облаке. Самостоятельно развернём и протестируем несколько систем.

Установим MLflow на VM, развернём Postgres в облаке, используя DBaaS, создадим S3 бакет. Далее запустим MLflow и установим JupyterHub на VM.

4. Особенности решений для работы с данными в облаках

Познакомимся с BigQuery, Snowflake, AWS Athena и другими популярными инструментами. Рассмотрим архитектуру хранилищ данных в облаках, обсудим традиционный и облачный подходы, поговорим про разнесение данных на слои.

5. Kubernetes для инженерии данных

Рассмотрим основной функционал Kubernetes, поговорим про его архитектуру и базовые абстракции. Обсудим имеющиеся в нём инструменты для инженерии данных — Spark, Airflow, Presto. Поработаем в облаке с кластером Kubernetes, развернём и протестируем в нём Spark и JupyterHub.

6. Kubernetes для инженерии данных

Создадим кластер, работать с ним будем с VM. Скопируем на VM kubeconfig. И в завершение установим JupyterHub и проверим его работоспособность в Kubernetes.

7. Разворачиваем Spark в Kubernetes

В кластере Kubernetes установим Spark Operator. Запустим своё приложение, которое прочитает данные из S3 и переложит их в другой бакет. Установим Spark History Server в Kubernetes и запустим приложение Spark, которое будет писать логи в Spark History Server.
Визуализация данных

Рассмотрим основные принципы работы с данными с точки зрения их визуализации и научимся смотреть на данные глазами их потребителя. Познакомимся с Tableau — гибким и мощным BI-инструментом. Узнаем, как он взаимодействует с базами данных, и построим с его помощью интерактивный дашборд для мониторинга DWH платформы.

1. Зачем нужна визуализация. Основы Tableau

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

2. Как сделать дашборд

Узнаем, какие существуют виды дашбордов, и познакомимся с базовыми правилами вёрстки и графического дизайна. Попробуем сделать свой дашборд в Tableau.

Разработаем дашборд по датасету с вакансиями аналитиков, состоящий минимум из трёх графиков.

3. Сбор требований. Dashboard Canvas

Узнаем, как правильно собирать требования для дашборда, чтобы он решал задачи пользователя. Познакомимся с фреймворком Dashboard Canvas и рассмотрим примеры его применения.

4. Подключение данных к Tableau

Посмотрим, как Tableau работает с данными, и узнаем, какие существуют модели данных и способы подключения к источникам. Рассмотрим запросы Tableau при подключении к базам данных в различных сценариях.

5. Кейсы. Разработка внутренних дашбордов по DWH

Обсудим, как с помощью дашбордов и KPI можно управлять DWH и BI как продуктами и улучшать качество работы этих систем.

6. Обзор DataLens и SuperSet
BIG ML

Познакомимся с теорией распределённого машинного обучения. Научимся работать с популярным модулем Spark ML и рассмотрим подходы к обучению и применению моделей на больших данных.

1. Введение в машинное обучение

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

2. Теория распределенного обучения

Обсудим и сравним подходы к распределённому машинному обучению — Model Distributed и Data Distributed.

3. Spark ML

Познакомимся с реализацией распределённого машинного обучения на примере Spark ML. Научимся применять такие важные компоненты, как Transformers, Estimators, Pipeline, HT.

4. Spark ML

Решите 2 задачи при помощи Spark ML: о кредитном скоринге и кредитной оценке

5. Применение нераспределенных ML-моделей на больших данных

Создадим Pandas UDF функцию, которая должна будет частично скрывать номера банковских карт.

6. Идентификация ботов

Займёмся задачей идентификацией ботов среди пользовательских сессий.
Управление моделями

В работе инженеры часто сталкиваются с подготовкой данных для обучения ML-моделей. Рассмотрим инструменты для построения ML-пайплайнов, версионирования датасетов, организации учёта и трекинга моделей.

1. Пайплайн обучения ML-модели

Рассмотрим основные этапы общего пайплайна обучения любой модели. Разберёмся, зачем готовить датасеты и как управлять этим процессом. Обсудим проблемы, с которыми сталкиваются при обучении моделей — воспроизводимость экспериментов, трекинг, протухание.

2. Версионирование данных (DVC)

Обсудим методы и подходы к версионированию данных на примере Data Version Control (DVC). Научимся вести версионирование датасетов и пользоваться ими.

Зарегистрируем файл данных в DVC, разместим в удаленном хранилище и выполним коммит изменений в вашей ветке, отправим изменения в репозиторий. Запустим проверку решения.

3. Применение MLFlow для учета и трекинга моделей

Научимся применять MLFlow для сохранения и выгрузки моделей в процессе проведения над ними экспериментов.

Возьмём задачу автоматизации процессов страховой компании. Добавим разметку эксперимента для трекинга процесса обучения модели в MLFlow.
Управление данными

На практике часто приходится иметь дело с разными данными и огромным числом интеграций и процессов, выполняющих над ними те или иные преобразования. Познакомимся с популярными подходами к управлению данными, обсудим инструменты для контроля качества данных и отслеживания их происхождения.

1. Data Management

Поговорим об управлении данными, рассмотрим составляющие этого процесса и узнаем, почему он так важен.

2. Data Security

Данные — один из важнейших активов любой компании. Обсудим подходы, применяемые для обеспечения их безопасности.

3. Data Quality

Чтобы с данными было удобно работать, они должны отвечать определённым требованиям к их качеству. Разберёмся, что такое Data Quality и как его оценивать.

4. Deequ для DataQuality

Используя возможности pydeequ, разработаем задачу по анализу данных и сохранению отчета с анализом в папку.

◆ ЦЕНА МАТЕРИАЛА ◆
Цена 77600 руб.

Повтор складчин

Материал «Инженер данных (обновление) [karpov.cources] [Евгений Ермаков, Валерий Соколов, Роман Бунин] [Повтор]», возможно, скоро появится на All-dar.

Пройдите регистрацию и оформите Premium подписку, чтобы первым получить доступ, и воспользуйтесь поиском — может быть, он уже опубликован.

Скрытый контент для пользователей All-dar.
 

Присоединяйтесь, чтобы открыть полный доступ

Комментарии и материалы этой темы доступны только зарегистрированным участникам

Новый участник?

Регистрация занимает меньше минуты

Уже с нами?

Войдите в свой аккаунт

Сверху