Аналитика ключевых метрик компании: dbt Metrics / Cube.js / LookML
Привет! 25 апреля Вт в 20:00 проведу вебинар на YouTube.
Рассмотрим на практике грани интересной темы:
🔸 Что такое семантический слой, и в чем разница между Метрикой и Витриной данных
🔸 Пути формирования метрик: SQL (ad-hoc), dbt Metrics package, Cube.js, LookML (Looker)
🔸 Примеры декларативной конфигурации dbt metrics в yaml
🔸 Как использовать продвинутые возможности dbt Metrics (derived metrics, secondary calculations)
Важные выводы и идеи при выборе решения:
🔸 Open source solutions vs. Vendor lock-in
🔸 Flexibility vs. Speed tradeoff (online queries vs. pre-materialized)
🔸 Access vs. Expressiveness (in-depth features vs. ease of use)
Если тема интересна, приходите на транcляцию - буду отвечать на вопросы, можно будет подискутировать.
❗ Ссылка будет в этом канале за 10-15 минут до начала трансляции.
#dbt #metrics #bi
🌐 @data_apps | Навигация по каналу
Привет! 25 апреля Вт в 20:00 проведу вебинар на YouTube.
Рассмотрим на практике грани интересной темы:
🔸 Что такое семантический слой, и в чем разница между Метрикой и Витриной данных
🔸 Пути формирования метрик: SQL (ad-hoc), dbt Metrics package, Cube.js, LookML (Looker)
🔸 Примеры декларативной конфигурации dbt metrics в yaml
🔸 Как использовать продвинутые возможности dbt Metrics (derived metrics, secondary calculations)
Важные выводы и идеи при выборе решения:
🔸 Open source solutions vs. Vendor lock-in
🔸 Flexibility vs. Speed tradeoff (online queries vs. pre-materialized)
🔸 Access vs. Expressiveness (in-depth features vs. ease of use)
Если тема интересна, приходите на транcляцию - буду отвечать на вопросы, можно будет подискутировать.
#dbt #metrics #bi
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍7
❓Вопросы задавайте в комментарии к этому посту либо через чат:
https://otus.ru/lessons/event-chat/2847/
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Аналитика ключевых метрик компании с использованием dbt Metrics // Курс «Data Warehouse Analyst»
Вы узнаете:
- Что такое семантический слой и в чем разница между метрикой и витриной данных
- О правилах декларативной конфигурации метрик в yaml
- Как использовать продвинутые возможности dbt Metrics (derived metrics, secondary calculations)
Кому подходит…
- Что такое семантический слой и в чем разница между метрикой и витриной данных
- О правилах декларативной конфигурации метрик в yaml
- Как использовать продвинутые возможности dbt Metrics (derived metrics, secondary calculations)
Кому подходит…
🔥7
Data Apps Design
🔸 Запись вебинара: https://youtu.be/lb20Rrezszc
🔸 Слайды: https://docs.google.com/presentation/d/1pFxOjEW1lSdFLTWV6K0ebtuVCfNCKCRewUM_daxwPdM/edit?usp=sharing
🔸 Демо-проект на github: https://github.com/kzzzr/mybi-dbt-showcase#set-up-metrics-layer
🔸 Metrics layer PR (by commits): https://github.com/kzzzr/mybi-dbt-showcase/pull/6
#dbt #metrics #bi
🔸 Слайды: https://docs.google.com/presentation/d/1pFxOjEW1lSdFLTWV6K0ebtuVCfNCKCRewUM_daxwPdM/edit?usp=sharing
🔸 Демо-проект на github: https://github.com/kzzzr/mybi-dbt-showcase#set-up-metrics-layer
🔸 Metrics layer PR (by commits): https://github.com/kzzzr/mybi-dbt-showcase/pull/6
#dbt #metrics #bi
YouTube
Аналитика ключевых метрик компании с использованием dbt Metrics // Курс «Data Warehouse Analyst»
Вы узнаете:
- Что такое семантический слой и в чем разница между метрикой и витриной данных
- О правилах декларативной конфигурации метрик в yaml
- Как использовать продвинутые возможности dbt Metrics (derived metrics, secondary calculations)
Кому подходит…
- Что такое семантический слой и в чем разница между метрикой и витриной данных
- О правилах декларативной конфигурации метрик в yaml
- Как использовать продвинутые возможности dbt Metrics (derived metrics, secondary calculations)
Кому подходит…
👍9
Семантический слой для Аналитики ключевых метрик – dbt Metrics vs. Cube
🔸 Что такое семантический слой, и в чем разница между Метрикой и Витриной данных.
🔸 Пути формирования метрик: SQL (ad-hoc), UI, dbt Metrics, Cube.
🔸 Примеры декларативной конфигурации в YAML и использования метрик.
🔸 На что обращать внимание при выборе решения: Стек технологий, Доступность vs. Выразительнось, Гибкость vs. Скорость.
В продолжение последней темы - для тех, кто любит читать.
Читать на Habr →
🌐 @data_apps | Навигация по каналу
🔸 Что такое семантический слой, и в чем разница между Метрикой и Витриной данных.
🔸 Пути формирования метрик: SQL (ad-hoc), UI, dbt Metrics, Cube.
🔸 Примеры декларативной конфигурации в YAML и использования метрик.
🔸 На что обращать внимание при выборе решения: Стек технологий, Доступность vs. Выразительнось, Гибкость vs. Скорость.
В продолжение последней темы - для тех, кто любит читать.
Читать на Habr →
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Семантический слой для Аналитики ключевых метрик – dbt Metrics vs. Cube
Привет! Сегодня речь пойдет о семантическом слое метрик. В публикации рассмотрим на практике грани интересной темы: Что такое семантический слой, и в чем разница между Метрикой и Витриной данных. Пути...
👍1
Having extensive experience with Looker and dbt I've got several thoughts on
⚡️ Replacing Looker with Cube + Superset ⚡️
🔸 Future of BI and Analytics revolves around declarative metrics store and polyglot serving
— You set your metrics simple way, in a single store and version control them
— You then consume these metrics from wherever needed (BI, SQL, Apps, REST API)
🔸 Cube is a powerful rival to Looker
— Both support: Declarative Metrics, Dynamic SQL generation, Caching, RBAC
— Cube is Open Source while Looker is a vendor lock-in (which is tying your options and opportunities)
— Cube offers freemium plan while Looker is top-tier in terms of pricing
🔸 Cube still has got many things to improve
— Looker has fancy browser IDE with code-completion, syntax checks and built-in docs
— Cube is of a higher entry level in terms of: deployment, git, development, updates, etc.
— Looker supports flexible templating with Liquid: variables, dynamic joins, filters etc. enabling otherwise impossible opportunities
— Looker has impressive list of supported data sources and dialects
Apart from this Cube is not a visualization tool, so you will definitely need one on top of Cube (e.g. Superset, Metabase).
Looker has everything to be named top grade BI tool: rich dashboards, scheduling, alerting, API.
🔸 I would go on with Looker
— In case you have invested much into your LookML project and using it for a long period of time
— I would strongly consider using Cube with OSS BI tool if you are searching for a new stack or want to switch
#bi #looker #cube #metrics
⬇️ Share your thought if you've ever used Looker or Cube.
🌐 @data_apps | Навигация по каналу
⚡️ Replacing Looker with Cube + Superset ⚡️
🔸 Future of BI and Analytics revolves around declarative metrics store and polyglot serving
— You set your metrics simple way, in a single store and version control them
— You then consume these metrics from wherever needed (BI, SQL, Apps, REST API)
🔸 Cube is a powerful rival to Looker
— Both support: Declarative Metrics, Dynamic SQL generation, Caching, RBAC
— Cube is Open Source while Looker is a vendor lock-in (which is tying your options and opportunities)
— Cube offers freemium plan while Looker is top-tier in terms of pricing
🔸 Cube still has got many things to improve
— Looker has fancy browser IDE with code-completion, syntax checks and built-in docs
— Cube is of a higher entry level in terms of: deployment, git, development, updates, etc.
— Looker supports flexible templating with Liquid: variables, dynamic joins, filters etc. enabling otherwise impossible opportunities
— Looker has impressive list of supported data sources and dialects
Apart from this Cube is not a visualization tool, so you will definitely need one on top of Cube (e.g. Superset, Metabase).
Looker has everything to be named top grade BI tool: rich dashboards, scheduling, alerting, API.
🔸 I would go on with Looker
— In case you have invested much into your LookML project and using it for a long period of time
— I would strongly consider using Cube with OSS BI tool if you are searching for a new stack or want to switch
#bi #looker #cube #metrics
⬇️ Share your thought if you've ever used Looker or Cube.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Replacing Looker with Cube + Superset
Agenda:
[00:00:00 - 00:02:35] Introductions
[00:02:36 - 00:08:13] Looker and why some are looking for alternatives
[00:08:14 - 00:28:15] Cube + Superset
[00:28:16 - 00:43:02] Demos (Cube: data modeling, caching/Superset: connecting to Cube, chart creation)…
[00:00:00 - 00:02:35] Introductions
[00:02:36 - 00:08:13] Looker and why some are looking for alternatives
[00:08:14 - 00:28:15] Cube + Superset
[00:28:16 - 00:43:02] Demos (Cube: data modeling, caching/Superset: connecting to Cube, chart creation)…
👍2
⚙️ Clickhouse is advancing at data integration
Apart from having fully-functional DB links to PostgreSQL and MySQL,
Clickhouse is also able to fetch data from any URL:
— No need for 3rd party tools (ELT)
— Extensive configurations for data formats and compression
— Do it SQL declarative way
— Works best with dbt modeling
Now I give you a brief example of how to sync data from external API (e.g. gSheets) to Clickhouse:
1. You create a table with URL engine pointing to external API either manually or using dbt macro
2. You register this table as a dbt source
3. You then reference this source anywhere in your dbt project
See the code →
#elt #integration #clickhouse #dbt
🌐 @data_apps | Навигация по каналу
Apart from having fully-functional DB links to PostgreSQL and MySQL,
Clickhouse is also able to fetch data from any URL:
— No need for 3rd party tools (ELT)
— Extensive configurations for data formats and compression
— Do it SQL declarative way
— Works best with dbt modeling
Now I give you a brief example of how to sync data from external API (e.g. gSheets) to Clickhouse:
1. You create a table with URL engine pointing to external API either manually or using dbt macro
2. You register this table as a dbt source
3. You then reference this source anywhere in your dbt project
See the code →
#elt #integration #clickhouse #dbt
Please open Telegram to view this post
VIEW IN TELEGRAM
Clickhouse
PostgreSQL | ClickHouse Docs
Allows to connect to databases on a remote PostgreSQL server.
Выступил с докладом на конференции
Open Source Software, Люди, и Сообщества как стратегия выживания
🔸 Ключевая идея #1: Поздно делать своё ПО. Рынок ПО РФ проиграл и отстал.
🔸 Ключевая идея #2: Выжить можно, если использовать Open Source Software
🔸 Ключевая идея #3: Лучшая инвестиция сегодня - в умы и руки (которые утекают из РФ)
🌐 @data_apps | Навигация по каналу
Open Source Software, Люди, и Сообщества как стратегия выживания
🔸 Ключевая идея #1: Поздно делать своё ПО. Рынок ПО РФ проиграл и отстал.
🔸 Ключевая идея #2: Выжить можно, если использовать Open Source Software
🔸 Ключевая идея #3: Лучшая инвестиция сегодня - в умы и руки (которые утекают из РФ)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🤡4
Data Apps Design
Выступил с докладом на конференции Open Source Software, Люди, и Сообщества как стратегия выживания 🔸 Ключевая идея #1: Поздно делать своё ПО. Рынок ПО РФ проиграл и отстал. 🔸 Ключевая идея #2: Выжить можно, если использовать Open Source Software 🔸 Ключевая…
🔸 Слайды: https://docs.google.com/presentation/d/1TwVV9f6vDtCN5lRhNor_LdwpUz6duvHcdjOl2hhhaUo/edit?usp=sharing
🔸 Запись на YouTube: https://youtu.be/BF96K7QAOEQ?t=4487
🔸 Запись на YouTube: https://youtu.be/BF96K7QAOEQ?t=4487
Google Docs
[Conf] Open Source, Люди и Сообщества как стратегия выживания
Open Source Software, Люди, и Сообщества как стратегия выживания
🤡1
Major improvements to my Analytics Engineering Lab on Github
🚀 Airbyte Data Pipelines Lab
– Configuring Data Pipelines with Airbyte
– Deploying Infrastructure as Code with Terraform and Yandex.Cloud
– Instant development with Github Codespaces
– Assignment checks with Github Actions
⚙️ What you will do:
– Configure Developer Environment: GitHub Codespaces or devcontainer
– Deploy Infrastructure with Terraform: VM with Airbyte installed, S3 Bucket, Clickhouse
– Configure Data Pipelines: Postgres Source, Clickhouse Destination, S3 Destination
– Test your Pipeline with dbt: locally and triggering automated testing with Github Actions
Open Lab on Github →
#airbyte #terraform #yc #lab #elt #data_integration
🌐 @data_apps | Навигация по каналу
🚀 Airbyte Data Pipelines Lab
– Configuring Data Pipelines with Airbyte
– Deploying Infrastructure as Code with Terraform and Yandex.Cloud
– Instant development with Github Codespaces
– Assignment checks with Github Actions
⚙️ What you will do:
– Configure Developer Environment: GitHub Codespaces or devcontainer
– Deploy Infrastructure with Terraform: VM with Airbyte installed, S3 Bucket, Clickhouse
– Configure Data Pipelines: Postgres Source, Clickhouse Destination, S3 Destination
– Test your Pipeline with dbt: locally and triggering automated testing with Github Actions
Open Lab on Github →
#airbyte #terraform #yc #lab #elt #data_integration
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1
Что будет, если в dbt в FROM ссылаться на названия таблиц в СУБД (хардкод)?
Очень вероятно, что возникнет ошибка, при которой объект, на который ссылаются, еще не создан.
То есть, будет нарушен порядок создания моделей, он же граф зависимостей, он же DAG.
Вывод: всегда используйте ссылки на другие модели в виде
Очень вероятно, что возникнет ошибка, при которой объект, на который ссылаются, еще не создан.
То есть, будет нарушен порядок создания моделей, он же граф зависимостей, он же DAG.
Вывод: всегда используйте ссылки на другие модели в виде
{{ ref('my_model_name') }}, а также на источники в виде {{ source('db', 'table') }}.👍9
Screenshot 2023-07-10 at 17.39.17.png
74 KB
Моделирование отчета для BI в виде сводной таблицы со сравнением периодов
Известно, что бизнес-пользователи: management, operations, marketing привыкли оперировать красивыми дашбордами и графиками в удобных BI-инструментах.
Предлагаю разобрать реальный практический кейс:
Вы получаете ТЗ в виде прототипа в gSheet с желаемым отчетом.
Ваши действия?
🌐 @data_apps | Навигация по каналу
Известно, что бизнес-пользователи: management, operations, marketing привыкли оперировать красивыми дашбордами и графиками в удобных BI-инструментах.
Предлагаю разобрать реальный практический кейс:
Вы получаете ТЗ в виде прототипа в gSheet с желаемым отчетом.
Ваши действия?
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚1
⚙️ Pivot Table for Period over Period analysis
1. Декомпозиция отчета
Практически, я вижу pivot-таблицу с несколькими уровнями вложенности по строкам и столбцам.
Это относительно легко сделать в Excel (gSheet), но относительно сложно в BI-инструментах.
Уточняю требования и непонятные моменты.
Q: Мне непонятна логика месяцев в столбцах. Они должны последовательно идти по возрастанию? В таблице 3 месяца, один из них за 2022. Какие периоды, на какую глубину и с чем хочется сранивать?
A: Текущий период сравнивается с: аналогичный период прошлого года, предыдущий месяц текущего года
2. Структура данных в СУБД (в моем случае это Clickhouse)
Для понимания, в СУБД (из запросов к которой строятся все отчеты Datalens) всё хранится в виде плоских двумерных таблиц.
Всё моделирование я делаю с помощью ряда шагов преобразований и промежуточных схем/таблиц с помощью dbt.
В результате - у меня одна денормализованная (широкая) витрина, запросами к которой можно посчитать любые интересующие метрики.
3. Возможности BI-инструмента (в моем случае это Datalens)
Цель: Хочу нарисовать сводную таблицу и делать Period over Period аналитику: месяц к месяцу, год к году, месяц к тому же месяцу год назад.
И здесь начинаются нюансы работы с конкретными BI.
Пока удалось нарисовать сводную таблицу как на картинке. Есть 3 вопроса:
1. Как в фильтре можно просто задать текущий и прошлый месяц без хардкода?
2. Как задать в фильтре текущий месяц и тот же месяц год назад?
3. Можно ли раскрашивать ячейки (числа) в зависимости от динамики изменения с прошлым периодом (больше - зеленый, меньше - красный)?
🌐 @data_apps | Навигация по каналу
1. Декомпозиция отчета
Практически, я вижу pivot-таблицу с несколькими уровнями вложенности по строкам и столбцам.
Это относительно легко сделать в Excel (gSheet), но относительно сложно в BI-инструментах.
Уточняю требования и непонятные моменты.
Q: Мне непонятна логика месяцев в столбцах. Они должны последовательно идти по возрастанию? В таблице 3 месяца, один из них за 2022. Какие периоды, на какую глубину и с чем хочется сранивать?
A: Текущий период сравнивается с: аналогичный период прошлого года, предыдущий месяц текущего года
2. Структура данных в СУБД (в моем случае это Clickhouse)
Для понимания, в СУБД (из запросов к которой строятся все отчеты Datalens) всё хранится в виде плоских двумерных таблиц.
Всё моделирование я делаю с помощью ряда шагов преобразований и промежуточных схем/таблиц с помощью dbt.
В результате - у меня одна денормализованная (широкая) витрина, запросами к которой можно посчитать любые интересующие метрики.
3. Возможности BI-инструмента (в моем случае это Datalens)
Цель: Хочу нарисовать сводную таблицу и делать Period over Period аналитику: месяц к месяцу, год к году, месяц к тому же месяцу год назад.
И здесь начинаются нюансы работы с конкретными BI.
Пока удалось нарисовать сводную таблицу как на картинке. Есть 3 вопроса:
1. Как в фильтре можно просто задать текущий и прошлый месяц без хардкода?
2. Как задать в фильтре текущий месяц и тот же месяц год назад?
3. Можно ли раскрашивать ячейки (числа) в зависимости от динамики изменения с прошлым периодом (больше - зеленый, меньше - красный)?
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Data Apps Design
🟡 Дайджест самых интересных публикаций по темам:
Data Integration
— ▶ Успешный SaaS на рынке Аналитики – cтановление и планы развития / Алексей Сидоров из mybi connect
— 👨💻 Сказ о том как я realtime replication чинил (Kafka + Debezium + Clickhouse)
—…
Data Integration
— ▶ Успешный SaaS на рынке Аналитики – cтановление и планы развития / Алексей Сидоров из mybi connect
— 👨💻 Сказ о том как я realtime replication чинил (Kafka + Debezium + Clickhouse)
—…
❤2👍2
Screenshot 2023-07-10 at 17.14.27.png
156.8 KB
Datalens prototype