ABCDEFGHIJKLMNOPQRSTUVWXYZAAABAC
1
Цель занятия
(после занятия вы сможете)
Краткое содержание
(стек изученых технологий)
РезультатДомашнее задание
2
1Модуль 1. ELT. Структура и типы источников данныхРассмотрим классификацию основных источников данных для аналитики и их отличительные особенности.
Выясним отличие принципов ETL и ELT, структурированных и неструктурированных данных.
Научимся подключаться и вычитывать исходные данные, запрашивать ответы от внешних провайдеров через REST API, настраивать потоковую репликацию данных в Хранилище.
Проанализируем основные сервисы и инструменты, используемые для этого класса задач.
3
1.1Источники данных: классификация и особенностиИзучить особенности различных источников данных: подключение, формат, типы данных, ограничения
Классифицировать источники на конкретных реализациях: PostgreSQL, S3, Yandex.Metrika, REST API (Exchange rates)
Структурированные и неструктурированные данные
Форматы данных: CSV, JSON, AVRO, PARQUET, ORC
Чтение из базы напрямую / лога WAL / REST
Determine the operational characteristics of the collection system
Handle the frequency, volume, and source of data
Addressing the key properties of data, such as order, format, and compression
Изучение основных и дополнительных материалов занятия
Анализ источников данных на текущем месте работы
4
1.2Инструменты для выгрузки данных – 1Понять различия в подходах ETL и ELT
Оценить выбор решения с точки зрения критериев: стоимость, сопровождение, развитие, масштабируемость
Трансформация из ETL в ELT
Обзор Self-managed решений: Nifi, StreamSets
Обзор SaaS-решений: Fivetran, Stitch, Hevo
Принятие решения об использовании инструментов для выгрузки данных
Изучение основных и дополнительных материалов занятия
Выгрузка данных веб-счетчика
5
1.3Инструменты для выгрузки данных – 2Научиться делать выгрузки своими силами: RDBMS, S3/HDFS, REST API, Webhooks
Уметь найти баланс в использовании внешних сервисов и написании своих pipelines
Организация регулярных выгрузок с помощью облачных сервисов GCP / AWS
Репликация базы данных при помощи Debezium и чтения бинарного лога
Принятие решения об использовании инструментов для выгрузки данных
Изучение основных и дополнительных материалов занятия
6
7
2Модуль 2. DWH BasicsРассмотрим современные СУБД, используемые для анализа больших данных и ключевые принципы их функционирования.
Изучим концепцию Хранилища Данных и вопросы, на которое оно призвано отвечать.
Познакомимся с dbt – широко популярный мультитул для работы с DWH, позволяющий выстраивать работу в соответствии с лучшими практиками.
8
2.1Аналитические движки (СУБД) для работы с даннымиИзучить принципы работы аналитических СУБД
Привести примеры конкретных СУБД, проанализировать сходства и различия
MPP-базы данных и shared-nothing архитектура
Колоночное хранение данных и компрессия
Сегментация и партицирование
Особенности нагрузки на аналитические СУБД
Использование сильных сторон аналитических СУБД в проектах
Выбор оптимального движка под конкретные потребности и задачи бизнеса
Изучение основных и дополнительных материалов занятия
9
2.2Принципы построения DWHСформулировать основные концепции в построении Хранилищ Данных
Проследить эволюцию взглядов и концепций на построение DWH
Разделение на логические слои: Stage + Intermediate + Detail + Marts + Ad Hoc
Normalization: 3NF, Denormalized, Data Vault, Anchor
Тесты данных и качество данных
Team work & CI
Макросы и функции + Maintenance
Security, Access Segregation, WLM
Использование лучших практик в организации Хранилища Данных
Изучение основных и дополнительных материалов занятия
10
Разбор ДЗ – Выгрузка данных веб-счетчика
11
2.3Знакомство с Data Build ToolПознакомиться с Data Build Tool – мультитул для работы с DWH
Изучить основные возможности и принципы dbt
Dbt building blocks and principles
Connecting to DWH: profiles.yaml
Configuration: dbt_project.yaml
Launching first project
Macros + Jinja templates
Code compilation + debugging
Documenting your project
Умение правильно найти применение dbt в своих проектах
Изучение основных и дополнительных материалов занятия
Конфигурирование и запуск проекта dbt
12
2.4DBT: Analytics EngineeringИзучить направление Analytics Engineering сегодня и место dbt в нем
Понять, как инструменты подобные dbt могут помочь инженерам и аналитикам
Analytics Engineering
SQL best practices: Complex SQL transformations + CTE
Building complex Data Marts
Materializations: table, view, ephemeral, incremental
SQL for analytics (Habr)
Analytical functions
Snapshotting history of changes (SCD)
Accessing documentation easily with static website
Умение применять лучшие практики Software Engineering и Analytics на своих проектах
Изучение основных и дополнительных материалов занятия
13
14
3Модуль 3. DWH IntermediateИзучим современные инструменты для оркестрации скриптов и задач, управления пайплайнами и цепочками зависимостей (DAGs).
Получим представление об организации всестороннего качества данных и актуальности DWH.
Познакомимся с ключевыми принципами оптимизации производительности и устранения bottlenecks.
На практике применим навыки моделирования Хранилища по методологии Data Vault 2.0
15
16
3.1Оркестрация скриптов и задач – 1Понять, когда нужны инструменты оркестрации
Изучить рынок современных решений
Когда простого cron становится недостаточно
Обзор решений Airflow, Prefect, Dagster
Принципы работы DAGs
Умение выбрать и применять инструменты оркестрации и управления DAGs
Изучение основных и дополнительных материалов занятия
17
3.2Оркестрация скриптов и задач – 2Изучить опции развертывания и сопровождения решений оркестрации
Погрузиться в оптимизацию и конфигурацию DAGs
Deployment: Self-managed (пример на Kubernetes) vs. Cloud native
Writing dynamic DAGs
Dependency management
Monitoring & Alerting
Умение развернуть решение и опубликовать выполнение DAGs на расписание
Изучение основных и дополнительных материалов занятия
Подготовка и установка на расписание DAG выгрузки данных из источников
18
Разбор ДЗ – Конфигурирование и запуск проекта dbt
19
3.3Data QualityПолучить представление о том что такое качество данных;
Выяснить как Data Quality влияет на выводы и принимаемые решения;
Рассмотреть стратегии управления качеством данных.
Основные метрики качества данных;
Причины нарушения качества и стратегии реагирования;
Измерение, мониторинг, исправление;
Демонстрация: schema, data, freshness tests в DBT;
Continuous Integration tests;
кросс-проверки источник <-> DWH.
dbt Audit module для аудита при миграции данных, изменениях в коде
Понимание метрик качества данных и их использование для обеспечения консистентности;
Знание основных сценариев применения и потенциальной пользы для бизнеса.
Изучение основных и дополнительных материалов занятия
20
3.4Вопросы оптимизации производительностиПолучить представление об источниках проблем с производительности
Изучить лучшие практики в оптимизации производительности
Performance best practices
Execution plan analysis, Query profiling (+ internal tables and views)
Compressing data & physical design (DIST, SORT, Materialized views, …)
Incremental updates / building marts by periods
Code refactoring & KISS (Keep it simple, stupid)
Применение лучших практик оптимизации в своих проектах
Организация кода, последовательности вычислений, запросов с использованием сильных сторон инструментов и движков
21
Разбор ДЗ – Подготовка и установка на расписание DAG выгрузки данных из источников
22
3.5Data Vault – 1Погрузиться в подход к организации детального слоя Data Vault 2.0
Рассмотреть пример построения DWH на DV 2.0
Формулирование требования к модели DWH
Освежаем знания о моделировании DWH
Нормализация и подход Data Vault 2.0
Building blocks: HUB + LINK + SATELLITE
Hash & Surrogate keys
Умение организовать модель детального слоя в своих проектах
Изучение основных и дополнительных материалов занятия
23
3.6Data Vault – 2Получить представление об архитектурных паттернах и Business Vault
Изучить основы автоматизации и генерации кода Data Vault
Архитектурные паттерны и Business Vault
Оптимизация физической модели
Основы кодогенерации и dbtvault
Построить модель детального слоя с помощью кодогенератора (например, dbtvault)
Использовать сильные стороны MPP СУБД для построения физической модели Data Vault
Организация детального слоя DWH по методологии Data Vault
24
25
4Модуль 4. Business IntelligenceВыясним круг задач для решений класса Business Intelligence.
Научимся конфигурировать и запускать BI в своих проектах.
Изучим лучшие практики визуальной подачи информации и подготовки дашбордов.
26
4.1BI: ОбзорСформулировать назначение систем класса BI;
Изучить принципы работы BI-инструментов и решаемые задачи;
Анализ и сравнение функционала решений
BI building blocks: connecting, modeling, visualising, dashboarding
Обзор популярных BI-решений: Looker, PowerBI, Tableau
Open source BI: Superset, Metabase
Сделать выбор оптимального BI-решения под задачи бизнеса
Изучение основных и дополнительных материалов занятия
27
4.2BI: DeploymentИзучить опции развертывания BI-решений
Погрузиться в вопросы конфигурация развертывания BI-решения
Self-hosted vs. Managed
Apache Superset: Docker deployment
Metabase: Deployment with Docker on AWS Elastic Beanstalk
Configuring BI tool: security, metadata, notifications, user access
Software version upgrades
Развертывание и конфигурация OSS BI-решения
Изучение основных и дополнительных материалов занятия
28
4.3BI: Modeling & DeliveringНаучиться подключаться к источникам данных для BI
Создать метрики, сегменты, фильтры, дашборды для визуальной аналитики
Connecting to data sources
Задание метрик, фильтров, сегментов
Подготовка визуализаций для представления выводов
Сборка аналитических дашбордов: лучшие практики
Подготовка аналитической панели-дашборда для визуальной аналитики
Изучение основных и дополнительных материалов занятия
Конфигурация и развертывание BI-решения
29
Разбор ДЗ – Организация детального слоя DWH по методологии Data Vault
30
4.4Analytics: Базовые аналитические витриныПолучение представления о типах аналитических витрин и их особенностях
Изучение практик применения аналитики для поиска ответов на бизнес-проблемы
Сегментация – Segments
Ключевые показатели и метрики – KPI
Анализ временных рядов – Timeseries analytics + Period-by-period
Когортный анализ – Cohort analysis
Построение аналитических витрин в своих проектах
Изучение основных и дополнительных материалов занятия
31
4.5BI: Углубленные вопросыПогрузиться в углубленные вопросы конфигурации и оптимизации BI-решений
Научиться использовать продвинутые фичи в своих проектах
Продвинутые фичи: Кросс-фильтрация, Calculated fields
Кеширование результатов и пре-материализация с помощью Persistent Derived Tables
Sharing: public + private sharing + embedding
Настройка уведомлений, alerts
Тиражирование дашбордов и визуализаций (database migration)
Тестирование дашбордов (Data validation)
Применение продвинутых возможностей в своих проектах
Изучение основных и дополнительных материалов занятия
32
Разор ДЗ – Конфигурация и развертывание BI-решения
33
4.6Analytics: Продвинутые аналитические витриныПолучение представления о продвинутых аналитических витринах
Изучение практик применения аналитики для поиска ответов на бизнес-проблемы
Разбиение событий на сессии – Sessionization
Построение воронок и расчет конверсий – Funnels and conversions
Привлечение, Вовлечение, Удержание – Acquisition, Engagement, ​Retention analysis
Recency, Frequency, Monetary Value – RFM analysis
Построение аналитических витрин в своих проектах
Изучение основных и дополнительных материалов занятия
Визуализация и дашбординг для аналитических витрин
34
35
5Модуль 5. DWH Advanced topicsИзучим сложные и продвинутые фишки в работе с Хранилищем Данных:
Настроим мониторинг и сбор ключевых метрик Хранилища Данных.
Задействуем возможности тесной работы с Data Lake (External Data) и полу-структурированными данными.
Найдем точки сопрокосновения с Data Scientists, проведем обзор возможностей современных СУБД в сфере распределенного ML.
36
5.1DWH: Advanced topicsИзучить продвинутые функциональные возможности Хранилищ Данных
Разобраться в основных трендах и развивающихся фичах
DWH: Extending with UDF
Complex analytics SQL: Geospatial + Sessionizing + Pattern Matching
DBT: Advanced macros + Jinja
Enabling Slim CI
CI and deployment with Github Actions
Avoiding count(distinct..) -> HyperLogLog Sketch
Применение продвинутых практик в работе с DWH
Изучение основных и дополнительных материалов занятия
37
5.2DBT: Advanced topicsПолучить представление о расширении функциональных возможностей dbt под задачи и потребности
Научиться работать с модулями dbt – импорт, версионирование, использование
Разобраться с написание собственного модуля или расширением существующего
Importing modules (libraries)
Overview of modules: dbt_utils, calendar, logging
Creating your own module
Testing your newly created module
Custom materialization: materialized view
Создание собственного модуля dbt для переиспользования в проектах
Изучение основных и дополнительных материалов занятия
38
5.3DWH: Monitoring + Workload managementНаучиться измерять и отслеживать основные метрики DWH
Визуализировать метрики Хранилища Данных для анализа
Database performance metrics: CPU, RAM, Disk, Network, Errors and restarts
DWH deployement metrics: frequency, time to build, bottlenecks, problem models
Logging dbt runs:
1. via pre- & post-hooks (logging module)
2. via parsing dbt artifacts
Visualizing and analysing metrics on a dashboard
Segregating access and resources to users with roles, groups and WLM
Сбор и визуализация основных метрик Хранилища Данных
Изучение основных и дополнительных материалов занятия
39
Разбор ДЗ – Визуализация и дашбординг для аналитических витрин
40
5.4DWH: External + Semi-structured dataИзучить принципы работы с внешними для Хранилища Данными
Познакомиться с инструментами и возможностями обращения к External Data
S3 based Data Lake
Accessing Semi-structured data
External Data: Parquet, ORC
Hive, Presto, Athena
Dbt module: external data
Умение выстроить связь DWH - Data Lake и органично управлять своими данными
Изучение основных и дополнительных материалов занятия
Advanced DWH: Configuring CI, dbt modules, External tables
41
5.5DWH: Reverse-ETLПолучить представление о процессах выгрузки данных из DWH
Изучить возможные сценарии использования reverse-ETL
Push data from DWH to Operational systems
Обзор фреймворков Grouparoo, Census
Что выгружаем: LTV, customer labels, scoring
Примеры и демонстрация: Braze, Hubspot, Mailchimp
Умение применить практики для сценария Push data from DWH
Изучение основных и дополнительных материалов занятия
42
5.6DWH: Machine Learning capabilitiesВыяснить место DWH по отношению к Data Science и Machine Learning
Узнать, какими возможностями в области ML обладают современные аналитические движки
Feature engineering with dbt
In-database ML (BigQuery, Vertica)
Redshift + SageMaker
Умение тесно сотрудничать с Data Scientists и масштабировать решения ML
Изучение основных и дополнительных материалов занятия
43
44
6Модуль 6. RecapПовторим и суммируем весь пройденный в предыдущих модулях материал.
Изучим реальные кейсы и примеры организации работы с данными в компаниях.
Рассмотрим пути дальнейшего развития Hard & Soft Skills.
45
6.1Разбор кейса: end-to-end solutionПовторить все пройденные материалы курса
Разобрать несколько кейсов применения полученных знаний в решении бизнес-проблем
Put everything in place. Собираем воедино все части
Где могут возникнуть проблемы и как их решить
Разбор реальных кейсов компаний
Коммуникация - понимаем, чего хочет заказчик и делаем чуть больше
Поставка дата-сервисов и результатов – Deliver results
Применение полученных знаний на своих проектах
46
Разбор ДЗ – Advanced DWH: Configuring CI, dbt modules, External tables
47
6.2Дальнейшее развитие навыковполучить обзорную картинку полезных навыков и умений, сферы их применения;
пополнить багаж полезных знаний для совершенствования.
развитие Твердых (Hard) навыков: 20 часов практики на навык, увеличить производительность работы, ресурсы;
развитие Мягких (Soft) навыков: правила подготовки CV, прохождение интервью, общение с ментором, карьерное развитие.
выжимка навыков, ресурсов, подсказок для дальнейшего уверенного развития.Soft skills checklist: CV, LinkedIn, достигнутые цели обучения
48
49
50
Модуль 7. ПРОЕКТНАЯ РАБОТА
51
Вводное занятие - Definition of Done
- Сформулировать цель аналитического приложения, business value
- Представить архитектуру ресурсов и компонентов системы
- Классифицировать источники данных, регулярность загрузки, форматы данных и структуру
- Смоделировать Хранилища Данных
- Развернуть BI-инструмент
- Визуализировать данные в наглядном и понятном виде на дашбордах
- Сделать несколько интересных выводов
- * Опубликовать результаты работы на Хабр/…, выложить код на Github

- Темы на выбор (+ есть возможность предложить свою тему):
- Social media / Telegram channels / Twitter analysis
- Open Data: Covid, Taxi trips, Kaggle, ...
- Web analysis: crawling, parsing, analysing websites
- Marketing analytics: performance + attribution
52
Конусльтация по проектам
53
Защита проектов
54
Итоговое занятие
55
56
57
58
Публикации:
59
60
The Modern Data Stack: Past, Present, and Future
61
Emerging Architectures for Modern Data Infrastructure
62
The Analytics Engineering Guide
63
How to find a role in analytics engineering
64
Five principles that will keep your data warehouse organized
65
Не ищите единорога: как нанять хорошего Data-аналитика или как им стать
66
67
Книги:
68
69
Designing Data-Intensive Applications [Электронный ресурс] / Martin Kleppmann. — Электрон. текстовые дан. — O'Reilly Media, Inc, 2017. — Режим доступа: https://www.oreilly.com/library/view/designing-data-intensive-applications/9781491903063/
70
Designing Event-Driven Systems [Электронный ресурс] / Ben Stopford. — Электрон. текстовые дан. — O'Reilly Media, Inc, 2018. — Режим доступа: https://www.oreilly.com/library/view/designing-event-driven-systems/9781492038252/
71
Python Cookbook, 3rd Edition [Электронный ресурс] / David Beazley, Brian K. Jones. — Электрон. текстовые дан. — O'Reilly Media, Inc, 2013. — Режим доступа: https://www.oreilly.com/library/view/python-cookbook-3rd/9781449357337/
72
Big Data: Principles and best practices of scalable realtime data systems [Электронный ресурс] / Nathan Marz with James Warren. — Электрон. текстовые дан. — Manning Publications, 2015. — Режим доступа: https://www.oreilly.com/library/view/big-data-principles/9781617290343/
73
Google Cloud Platform for Architects [Электронный ресурс] / Judy Raj, Janani Ravi, Vitthal Srinivasan. — Электрон. текстовые дан. — Packt Publishing, 2018. — Режим доступа: https://www.oreilly.com/library/view/google-cloud-platform/9781788834308/
74
Building a Scalable Data Warehouse with Data Vault 2.0 [Электронный ресурс] / Daniel Linstedt, Michael Olschimke. — Электрон. текстовые дан. — Morgan Kaufmann, 2015. — Режим доступа: https://www.oreilly.com/library/view/building-a-scalable/9780128026489/
75
Code Complete, Second Edition [Электронный ресурс] / Steve McConnell. — Электрон. текстовые дан. — Microsoft Press, 2004. — Режим доступа: https://fktpm.ru/file/84-soversennyi-kod.pdf
76
97 Things Every Programmer Should Know [Электронный ресурс] / Kevlin Henney. — Электрон. текстовые дан. — O'Reilly Media, Inc, 2010. — Режим доступа: https://www.oreilly.com/library/view/97-things-every/9780596809515/
77
Whirlwind Tour of Python [Электронный ресурс] / Jake VanderPlas. — Электрон. текстовые дан. — O'Reilly Media, Inc, Режим доступа: https://learning.oreilly.com/jupyter-notebooks/whirlwind-tour-of/9781492074441/
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100