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
⚡️Online dbt meetup ⚡️
Салют! Всех, кто интересуется dbt и анализом данных приглашаю на митап.
Вас ждут 8 интересных докладов за 2 дня!
Я буду модератором-ведущим в первый день и расскажу об Оркестрации dbt jobs для Dev, Test, Prod без головной боли
→ Подробности о докладах и регистрация на митап
🌐 @data_apps | Навигация по каналу
Салют! Всех, кто интересуется dbt и анализом данных приглашаю на митап.
Вас ждут 8 интересных докладов за 2 дня!
Я буду модератором-ведущим в первый день и расскажу об Оркестрации dbt jobs для Dev, Test, Prod без головной боли
→ Подробности о докладах и регистрация на митап
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍3❤🔥1
🚀 Ключевые метрики компании на дашборде - путь от hardcoded cube к live calculated measures
Сейчас финализирую работу по рефакторингу дашборда в Looker
🔸 WBR (Weekly Business Review) - самый главный дашборд компании
— WBR существует уже 3+ года и всё это время активно дорабатывался
— На дашборде 45+ метрик со сравнением динамики и целевых показателей
— 20K+ просмотров, 10+ аналитиков-разработчиков-контрибуторов, 50+ людей использующих дашборд
🔸 Зачем? dbt-модель WBR превратилась в неподдерживаемое полотно кода без намека на гибкость
— Огромный порог входа для того чтобы внести малейшие изменения или добавить график с новой метрикой
— Т.к. код монолит, то любая маленькая ошибка приводит к тому, что не подсчитаны все метрики
— Затратный процесс расчета модели (время + ресурсы)
— Хардкод в плане доступных измерений и фильтров (кроме них ничего нет)
🌐 @data_apps | Навигация по каналу
Сейчас финализирую работу по рефакторингу дашборда в Looker
🔸 WBR (Weekly Business Review) - самый главный дашборд компании
— WBR существует уже 3+ года и всё это время активно дорабатывался
— На дашборде 45+ метрик со сравнением динамики и целевых показателей
— 20K+ просмотров, 10+ аналитиков-разработчиков-контрибуторов, 50+ людей использующих дашборд
🔸 Зачем? dbt-модель WBR превратилась в неподдерживаемое полотно кода без намека на гибкость
— Огромный порог входа для того чтобы внести малейшие изменения или добавить график с новой метрикой
— Т.к. код монолит, то любая маленькая ошибка приводит к тому, что не подсчитаны все метрики
— Затратный процесс расчета модели (время + ресурсы)
— Хардкод в плане доступных измерений и фильтров (кроме них ничего нет)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍1
🔸 Что в результате? Красивый и гибкий подход Dashboard as Code
Значительно улучшает опыт работы с дашбордом как для аналитиков, так и пользователей
— Полностью избавился от слоя предварительной материализации (dbt model) = сверхбыстрый T2M
— Теперь подсчитываем метрики на лету из таблиц детального слоя = корректность отчетов
— Дашборд реализован на 100% в виде LookML кода и версионируется в git = надежность
— Изменения и редактирование элементов выполняется теперь за минуты = поддерживаемость
Моя работа заняла несколько месяцев, и еще кое-что остается.
🔥 Дайте реакций, если хотите подробную статью с деталями реализации, выводами и рекомендациями.
🌐 @data_apps | Навигация по каналу
Значительно улучшает опыт работы с дашбордом как для аналитиков, так и пользователей
— Полностью избавился от слоя предварительной материализации (dbt model) = сверхбыстрый T2M
— Теперь подсчитываем метрики на лету из таблиц детального слоя = корректность отчетов
— Дашборд реализован на 100% в виде LookML кода и версионируется в git = надежность
— Изменения и редактирование элементов выполняется теперь за минуты = поддерживаемость
Моя работа заняла несколько месяцев, и еще кое-что остается.
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)
—…
🔥38❤🔥4👍4