Data Apps Design – Telegram
Data Apps Design
1.54K subscribers
143 photos
2 videos
41 files
231 links
В этом блоге я публикую свои выводы и мнения на работу в Data:

— Data Integration
— Database engines
— Data Modeling
— Business Intelligence
— Semantic Layer
— DataOps and DevOps
— Orchestrating jobs & DAGs
— Business Impact and Value
Download Telegram
Have you ever heard of Operational Analytics?

While your data resides in DWH – it is passive. It awaits while somebody queries it.

Operational Analytics is about making data actionable, not only available through SQL and BI on demand, but really working on day-to-day business in customer-facing workflows:
– Ad Networks (Facebook, Google Ads, …)
– E-mail Tools (Hubspot, Mailchimp, …)
– Lifecycle tools (Salesforce, Braze, …)

reverse-ETL is approach / class of tools for implementing Operational Analytics.
It enables data flowing out of your DWH into Operational Systems in a reliable/predictable/fault tolerant way.

Real-world use-cases:
– Prioritizing leads for Account Managers – most valuable customers first
– Generating custom audiences for advertising campaigns
– Delivering personal incentives and bonuses
– Communicating with customers about to churn

#reverse_etl
Channel name was changed to «dbt is here – Technology Enthusiast»
There is a number of successful companies who aim to provide reverse-ETL as a service:

Census
Hightouch
Grouparoo

However there are multiple ways to do it yourself:

1. Writing your own noscripts

– Every noscript is adding complexity to your pipelines
– Non-scalable: you should write new code for each integration
– Requires Software Engineering skills: not applicable to business users

Could be automated with:

– Python + Airflow DAGs
– Jupyter + cron + any Python libs (pandas, sklearn, …)

2. Using off the shelf integrations

– Enables using built-in integration capabilities from Software you already use
– Could be tweaked easy enough

Examples are:

Looker Action Hub
– Redshift with its Spectrum, Datashares, Unloading to S3

#reverse_etl
Let’s examine some integrations I currently use

UNLOADing customer/partner/chauffeur labels to S3 bucket files

Let’s say we want to exchange some data with other teams be it Backend, Financial Service, Frontend. You may also treat it as publishing data for whom it may concern, so there could be multiple consumers.

Could be easily automated it with dbt + Redshift UNLOAD:

– Create a model with desired attributes and rows
– Materialize it as a view
– Add dbt post-hook with UNLOAD noscript
– Schedule it on a daily/hourly basis

As a result:

– No actual excessive data is stored – materialized='view'
– Export is always up-to-date as it is scheduled with dbt jobs
– UNLOAD is performed only with production runs
– For consumers snapshot or history is available
– Multiple file formats supported: CSV, JSON, Parquet
Data Apps Design
Let’s examine some integrations I currently use UNLOADing customer/partner/chauffeur labels to S3 bucket files Let’s say we want to exchange some data with other teams be it Backend, Financial Service, Frontend. You may also treat it as publishing data for…
Continued:

Also, pay attention to how a model is built with dbt_utils.unpivot macro:

{{ dbt_utils.unpivot(
relation=ref('dim_chauffeurs_labels'),
cast_to='varchar',
exclude=['actual_dt', 'chauffeur_id'],
field_name='label',
value_name='value'
) }}

A list of attributes unloaded could be expanded or narrowed without actual code changes. Schema is ['actual_dt', 'chauffeur_id', 'label', 'value']
Forwarded from Igor Kalinovskiy
#анонс

В докладе Артемий расскажет про

- Анализ T2M команд разработки на событиях Github (Webhook)
- Аналитику документ-ориентированной БД MongoDB
- Использование специальных функций и типов данных, оптимизация скорости

Добавить в календарь 🗓

(всякое бывает, и время может измениться, хотя мы постараемся, чтобы такого не было! Но все равно в день конференции следите за финальной сеткой выступлений)

#DevsCamp
#TeamLeadCamp
#TeamLead
Looker action -> Braze (Customer engagement platform)

Let's keep observing ways to build reverse-ETL pipelines.

Looker enables its user to leverage Actions Hub – way of integrating Looker with 3rd party tools. Amongst most notable are:

– Airtable
– S3
– Braze
– Dropbox
– gDrive / gSheets / gAnalytics / gAds
– Hubspot
– mParticle

We calculate certain labels/traits/dimensions on our passengers/chauffeurs based on their behaviour and services usage in DWH.

Looker Action enables scheduled sync of data from Redshift to Braze user cards.

All you need to perform sync is:

– Identifier (user_id / external_id)
– Dimensions which will become traits in Braze card
– Schedule for this Action

Then in Braze we are able to:

– Target our campaigns precisely
– Deliver personal experiences and communications
– Split segments and perform A/B testing
– Identify users who are about to churn

#reverse_etl
[RU] Привет!

Сегодня 14 декабря онлайн-митап пользователей dbt в 19.00

Приходите, если уже работаете с dbt или планируете/рассматриваете использование dbt у себя в компании.

В программе 4 интересных доклада и ответы на вопросы:

- Почему вашей компании нужен dbt?
- Опыт использования dbt cloud в modern data stack
- Макросы dbt как единая версия правды
- Сбор статистики по запускам dbt и поиск узких мест в графе

https://space307.team/dbtmeetup
В эту субботу (18 декабря) в Москве с 12:00 до 17:00 в рамках DevsCamp мы снимаем живые подкасты (это значит, что можно прийти и посмотреть съемки, задать вопросы спикерам при желании, понетворкаться, покушать и т.д. Всё как на неформальных митапах)

Я буду участвовать в одном из подкастов.
Также будет ряд других интересных тем.

Трансляция будет вот здесь, а живое обсуждение - в чате DevsCamp в ТГ.

Подробности: https://news.1rj.ru/str/teamleadcampchat/2307

#meetup
Forwarded from DADADATA
Если кто был со мной на собесах разработчиков DWH, то знают, что я люблю задавать вопрос "знаете ли что такое dbt"? И пока никто из кандидатов не ответил "да")

А знать эту штуку хорошо бы, потому что она по сути реализует подход "DWH as a Code" в том смысле, что добавляет возможности работать со структурой DWH как с кодом обычного приложения. Появляется версионирование, генерация SQL, макросы, тестирование, управление зависимостями и т д. Правильность этого подхода демонстрирует то, что крупные компании, работающие с данными, пишут свои внутренние решения для генерации SQL (пример - Яндекс.Go).

Ниже запись митапа на эту тему от моего коллеги Артемия Козыря. Рекомендую к просмотру.
The world ain't all sunshine and rainbows. It's a very mean and nasty place.

Especially when you use select *

When a base table changes, all the downstream dependencies might break down.
Please don't deploy such things to production.

⬇️⬇️⬇️

#bugs