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
Что делать если в СУБД отсутствуют необходимые функции и преобразования?

🔸Использовать User Defined functions или External functions (они же Lambda functions).

Мой кейс - это работа с гео-индексами H3 (не поддерживается в Amazon Redshift):

— Агрегация точек в шестигранники-гексагоны
— Обезличивание данных при сохранении полезности
— Работа с разным масштабом гексагонов (детально - обобщенно)
— Построение тепловых карт (Heatmaps)

🔸Как это делается в двух словах?

— Создаем Lambda функцию - это почти unlimited возможности на любых языках программирования
— Регистрируем функцию в SQL: CREATE EXTERAL FUNCTION lambda_udf AS ...
— Убеждаемся что всё корректно: конфигурация function, аргументы и типы данных, выделяемые ресурсы, таймауты и т.д.
— Тестируем функцию: input - output, вызываем в SQL SELECT lambda_udf(a, b) as result
— Мониторинг: следим за потреблением ресурсов и производительностью

🔸В чем могут быть проблемы?

— +1 точка отказа
— Сообщения об ошибках в СУБД неинформативны
— В логах Lambda сложно что-то понять
— AWS: not enough capacity in your Region
— Дикий debug, когда ошибка возникает на какой-то из 10М строк и неизвестно на какой

🔸Что с этим делать?

Моё мнение такое:

— Использовать те СУБД, которые обладают требуемыми функциональными возможностями
— По возможности избегать Lambda и UDF
— Если возможности нет - писать ПРОСТЫЕ функции: 1 задача, 1 действие, 1 результат

Это одна из причин, по которой я рассматриваю использование Snowflake. Там работа с H3 поддерживается из коробки.

#database #modeling #udf #lambda #h3 #redshift #snowflake

🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👏1
H3 geospatial indexing system - почему это интересно для пользователей?

#h3
3
Абсолютно неинформативный лог при ошибке в Amazon Redshift + Lambda UDF

Затруднительно выяснять реальную причину проблемы. Особенно если при ручном запуске на порции данных ошибки нет.

#udf #lambda #h3 #redshift
Data Apps Design
Абсолютно неинформативный лог при ошибке в Amazon Redshift + Lambda UDF Затруднительно выяснять реальную причину проблемы. Особенно если при ручном запуске на порции данных ошибки нет. #udf #lambda #h3 #redshift
Эту проблему удалось решить, уменьшив количество строк, обрабатываемых в одном пакете (обращении к Lambda).

Проблема означала, что превышен размер ответа от Lambda Function. Чем больше строк на вход - тем больше ответ.

Решение: обрабатывать мЕньшими батчами. MAX_BATCH_ROWS 800
Подробнее о конфигурации функций в Redshift по ссылке.
1
👀 Интересуюсь, есть ли планы поддержи Clickhouse target в dbtCloud.

Как думаете, будет?
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔3
🙂 Хочу провести сравнительный анализ курсов и обучающих материалов в сфере работы с данными: Data Analytics / Engineering.

Чтобы было честно, начну со своей программы.

🔸Ключевые моменты:

— Упор на современные и удобные тулы: Modern Data Stack
— Фокус на создание ценности (бизнес-результат), а не процесс
— Кульминация каждых 4-5 занятий - практическая задача (Lab) оформленная как репо в Github
— В целом это квинтэссенция моего опыта и знаний, которые я получил на практике в течение последних 8 лет

🔸5 модулей + Capstone project:

1. Data Integration: ELT
2. DWH Basics
3. dbt Deep Dive
4. Business Intelligence
5. Advanced Toolkit
6. Capstone project

Программа подробно: https://github.com/kzzzr/analytics-engineer

До недавнего времени я предлагал подобную обучающую программу на русском языке на площадке OTUS, но уже скоро закончу преподавание в OTUS.

#learning

🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍21
Для кого программа Analytics Engineer:

— Те, кто ищет оптимальные способы решения задач и работет "вдолгую"
— Кто хочет использовать Modern Data Stack в своем проекте
— Кто готов и любит работать руками, погружаться, копать, разбираться
— У кого уже есть неплохой опыт (1-3 года, 1-2 компании/проекта)
— Кто хочет найти новый проект / место работы с более интересными задачами

🟢Особенности и плюсы

— Современная программа, топовые инструменты: dbt, Clickhouse, Airbyte, Datalens, Metabase, Cube.js
— Вы научитесь решать задачи самым оптимальным путем, это хорошая игра "вдолгую"
— Рабочие Labs в Github, половина Labs уже имеют автоматическую проверку правильности выполнения через Github Actions
— Опыт работы в смежных областях: DevOps, Data Ops, Cloud Engineering, Marketing

🔴 Слабые стороны:

— Стек не 100% релевантен для большинства корпораций РФ
— Довольно высокий порог входа - легко не будет
— Для многих ценность информации и возможность применить знания под вопросом

#learning

🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
Data Apps Design
🙂 Хочу провести сравнительный анализ курсов и обучающих материалов в сфере работы с данными: Data Analytics / Engineering. Чтобы было честно, начну со своей программы. 🔸Ключевые моменты: — Упор на современные и удобные тулы: Modern Data Stack — Фокус на…
Есть интерес к тому, чтобы посмотреть на рынок сегодня и сделать выводы, понять проблемные точки, выделить белые пятна.

Где учитесь вы и какие материалы используете?
Предпочитаете платить за информацию или собирать самостоятельно в открытых источниках?
За какую информацию в своём опыте платили и не пожалели потраченных средств?

Присылайте ответы и ссылки в комменты.
Please open Telegram to view this post
VIEW IN TELEGRAM
Салют,

💥 Многие видели письма от dbtLabs об очередном повышении цен на услуги.
Для кого-то это повышение будет многократным.

В связи с этим, мои рекомендации по альтернативам (для оркестрации dbt jobs):

1. Github Actions (если используете Github)
2. Gitlab CI (если используете Gitlab)
3. Prefect - удобно, приятно, лаконично
4. Paradime.io - с радостью бы попробовал на замену dbtCloud

🟢 Чем вы пользуетесь, что могли бы рекомендовать и почему?

🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
👍3
🙂 Datalens в Open Source

Отличная новость, теперь можно хостить этот BI on-prem.

Я пользуюсь Managed версией в Y.Cloud довольно давно.

🟢 Плюсы:
— Получается делать сложные вещи, например Period over Period аналитику (LAG([Принятые заявки (шт)], 52 ORDER BY [Неделя] BEFORE FILTER BY [Неделя]))
— Есть tabs на дашбордах (во многих BI этого нет! В т.ч. Looker)
— Удобный UI
— Достаточно богатые возможности для визуализации
— Готовые коннекторы для популярных СУБД: Clickhouse, Postgres

🔴 Из недостатков:
— Отсутствие code-based semantic layer - все метрики настраиваем руками в UI
— Для связи таблиц можно задать только условие равенства = (equi-join). Нельзя задать период для дат, например (dt >= date_start and dt <= date_end)
— Версионирование датасетов, чартов, дашбордов. Что-то вроде недавно появилось в этом отношении (drafts), но это всё равно не git
— Селектор (фильтр) действует только на 1 поле одного датасета. Возможно, есть workaround с alias, но это сложно

💬 Есть ли те, кто пользуется этим инструментом?
Какие преимущества и недостатки отметили?

🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2
🚀 Сквозная аналитика + Modern Data Stack

Хочу хостануть вебинар на YouTube

Бизнес-результат (ценность):

— Почему владельцы готовы платить за аналитику?
— Оптимизация привлечения и удержания клиентов
— Совершенствование продукта: анализ паттернов и поведения

Как создать эту ценность с Modern Data Stack:

— Расширение списка источников данных: AMO CRM, Y.Metrika, Ads costs, Billing, gSheet
— Шаблонизация, макросы и интеллектуальное моделирование с dbt и Clickhouse
— Семантический слой, потребление дата-продуктов и аналитики: Cube, MetricFlow (dbt Metrics)
— Визуализации и дашборды, которые живут долго: Datalens, Metabase, Superset
🔥16👌1🌭1
Data Apps Design
🚀 Сквозная аналитика + Modern Data Stack Хочу хостануть вебинар на YouTube Бизнес-результат (ценность): — Почему владельцы готовы платить за аналитику? — Оптимизация привлечения и удержания клиентов — Совершенствование продукта: анализ паттернов и поведения…
Попробую организовать таким образом:

— Заранее создам трансляцию на YouTube
— Время: около 13ч или 19ч (МСК) в рабочий день - как удобнее?
— Регистрация + напоминание - надо ли? Какой сервис использовать?
— Будет запись трансляции и ссылка на слайды

Если у кого-то есть подсказки, как организовать качественный стрим для tech / coding / analytics, то дайте знать в комментариях.

P.S. Я более не веду курсы на платформе ОТУС (как и любых других) 🙂
👍4🍾2
Snowflake Reports Financial Results for the Fourth Quarter and Full-Year of Fiscal 2023

Рост по всем показателям. Впечатляет, не правда ли?

Хотелось бы сравнить результаты с Databricks.
В частности больше всего интересует количество клиентов (в т.ч. $1M+ customers), а также динамику этих показателей по годам.

Однако, Databricks отчетность не публикует 🤔
Databricks is a privately held company and is not publicly traded on NYSE or NASDAQ in the U.S.

🌐 @data_apps | Навигация по каналу
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from [TEST] SANDBOX
[TEST] SANDBOX
https://mikkeldengsoe.substack.com/p/data-as-share-of-workforce
Неоднозначная публикация.

А я считаю, что чем выше уровень maturity в компании, тем меньше должен быть sum of data work.

Что это значит?

— Все рутинные и повторяющиеся операции автоматизированы
— Исключена поддержка legacy решений и инструментов
— Для всех заинтересованных в data лиц в компании созданы идеальные условия: SQL access, self-service BI, A/B experiments

Метрику Data team as % of workforce в текущей компании, где я работаю я бы оценил в 2.5-3%

Я многое сделал, увидел длительную эволюцию подходов и решений, выбора инструментов и бизнес-задач. Отрефакторил тысячи строк кода.

На протяжении 4-х лет я единственный Data Engineer в команде.
Говорит ли это о том, что sum of data work не изменилась?

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