DE – Telegram
522 subscribers
312 photos
81 videos
15 files
405 links
Data Engineering Technologies.
SQL, Python, Kafka, Spark, Pandas, Airflow, Clickhouse, Greenplum, Postgres, dbt, LLM agentic systems, AI, robots, drones etc.

Boost channel - https://news.1rj.ru/str/boost/data_engi
Download Telegram
😁15
😁11
This media is not supported in your browser
VIEW IN TELEGRAM
Превращай математику в живые анимации с Manim

Статические слайды — это хорошо, но сложные идеи гораздо легче объяснить через динамические визуализации.

Manim позволяет создавать профессиональные математические анимации в Python — такие же, как в видео 3Blue1Brown.

Что делает Manim мощным:

• MathTex — задаёт формулы в LaTeX
• Transform — плавно превращает одну формулу в другую
• play() и wait() — управляют ходом анимации
• Рендеринг одной командой:
manim -p -ql noscript.py

Manim — идеальный инструмент, когда нужно не просто показать формулу, а *объяснить идею* так, чтобы она оживала на экране.

https://docs.manim.community/en/stable/reference/manim.mobject.geometry.html#module-manim.mobject.geometry
5
Forwarded from Борис опять
Для тех кто не понимает почему когда у AWS проблемы пол интернета падает, объясняю. Это тоже самое как когда в России выпадает снег и весь транспорт встает как будто зимы раньше никогда не случалось
8😁3
3😁17❤‍🔥2👏1
Forwarded from New Yorko Times (Yury Kashnitsky)
This media is not supported in your browser
VIEW IN TELEGRAM
Первые ощущения от Antigravity
#google

Ну, космос, конечно. Покажи это себе самому образца 5-летней давности.

Как минимум три отличия Antigravity от привычной IDE с нависшим над ней кодинг-агентом:

- Можно запускать несколько агентов параллельно. Отдал одному фронт, второму бэк, третьему рисеч. Возвращаешься результат проверять;
- Antigravity сам запускает приложение в песочнице, тестирует, прям как человек, отчитывается, что сработало, что нет, потом пишет отчет в файлик Walkthrough. На видео как раз это происходит – когда браузер синей рамкой подсвечивается, это Antigravity захватил управление;
- приятные мелочи в виде отдельных файлов Task, Implementation Plan и Walkthrough, мысли и действия агентов еще более прозрачны.

Можно еще вот это видео глянуть, попробовать повторить.

Для демки с кубиком рубика пойдет, дальше надо попробовать в реальном проекте. Тут скепсис еще есть.
6❤‍🔥2👏1
Иду вчера по Льва Толстого, смотрю в случайное окно, а там...

Спасите роботов из офиса Яндекса! Свободу железным пацанам! 🤖
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7💯3
🔥 Почему у тебя в DWH вечный ад — и как из него выйти

Если твои пайплайны ощущаются так:
🔘всё надо вчера
🔘таблицы рождаются как попало
🔘техдолг растёт быстрее, чем зарплата
🔘каждую ошибку в данных чинят в пожарном режиме

то проблема чаще не в инструментах, а в отсутствии простых стандартов моделирования.

Представь жизнь дата-инженера, где:

1️⃣ Пайплайны собираются быстро, но при этом предсказуемо.

2️⃣Таблицы не ломаются от любого чиха продуктовой команды.

3️⃣Бизнес тебя воспринимает как инженера системы, а не "того, кто SQL крутит".

В ближайших постах — 6 конкретных техник, которые позволяют:
🟡строить продовые таблицы быстро
🟡при этом не закапываться в техдолге
🟡прозрачно показывать свою ценность бизнесу

Будет без воды: только то, что реально можно утащить к себе в проект и начать применять.

〰️〰️〰️〰️〰️〰️〰️〰️

🔘Bus Matrix
🔘Data Contract
🔘Insert Only факты и snapshot-измерения
🔘4 проверки данных, которые дают 80% пользы
🔘Линейность (lineage)
🔘Единый источник правды
🔘Всё вместе

#dev #de #dwh
Please open Telegram to view this post
VIEW IN TELEGRAM
211
⚡️ Bus Matrix — как одним артефактом показать бизнесу, зачем ты вообще нужен

Бизнесу пофиг на "fact_orders" и "dim_customer". Ему важны процессы: продажи, возвраты, конверсия, отток.

Bus matrix — это одна табличка, которая переводит:
мы сделали ещё одну факт-таблицу


в
мы покрыли ещё один бизнес-процесс, и вот какие разрезы вы теперь можете видеть


Пример (Bike Parts магазин, упрощённо):
🔘Строки — бизнес-процессы: Заказы, Возвраты, Скидки
🔘Колонки — измерения: Клиент, Товар, Дата заказа, Дата доставки, Регион, …
🔘Ячейка — есть связь или нет

То есть ты буквально показываешь:
🟢"Вот тут у вас появилась аналитика по возвратам по регионам"
🟢"Вот здесь — скидки по клиентским сегментам"

Что даёт bus matrix:

1️⃣ Ты говоришь на языке бизнеса: «процессы и разрезы», а не «джойны и ключи».

2️⃣ Легко демонстрируешь прогресс: было 3 процесса, стало 7.

3️⃣ Это по сути мини-ERD, но понятный не только дата-инженерам.

Такую матрицу можно держать в Notion / Confluence и тыкать в неё на всех созвонах:
Смотрим сюда: мы закрыли ещё 2 процесса и добавили 3 измерения


Для усиления всестороннего эффекта, можешь добавить подпись:

Всё, что мы делаем в DWH, должно быть видно в bus matrix. Если в матрице не видно пользы — мы делаем фигню


〰️〰️〰️〰️〰️〰️〰️〰️
Порядок в DWH

#dev #de #dwh
Please open Telegram to view this post
VIEW IN TELEGRAM
58😁1
😁6💯3
✏️ Data Contract — таблица как продукт, а не как побочный эффект пайплайна

Каждый раз, когда кто-то строит дашборд на твоей таблице, у тебя по сути покупают продукт. Только большинство команд этот продукт никак не описывает.

Data contract — это простой документ, который отвечает на вопрос аналитика/продукта:
Что я могу ожидать от этой таблицы, чтобы не накосячить?


Минимальный набор, который уже делает магию:

1️⃣ Grain (зернистость)
Что означает ОДНА строка?
🔘"одна строка = одна позиция в заказе"
🔘"одна строка = дневной срез по пользователю"

2️⃣ SLA по доступности данных
🔘"данные за вчера будут готовы к 09:00 UTC"
🔘или "лаг до 15 минут"

3️⃣ Схема (колонки + типы)
Кратко и по делу, без воды.

4️⃣ Owner
Команда/человек, кто отвечает за таблицу + канал коммуникации.

5️⃣ Встроенные проверки качества (DQ)
🔘что именно контролируем (уникальность, not null, допустимые значения…)
🔘где смотреть алерты.

Важно: data contract — это документ, а не тулза.
Фактическое соблюдение (валидации, алерты) — это уже вопрос инструментов.

Что меняется, когда у таблицы есть контракт:
🟣 пользователи перестают додумывать семантику колонок
🟣 меньше "а чё у вас тут за цифры? вы нам бизнес сломали"
🟣 проще объяснить, почему вы не поддерживаете хаотичные запросы ("это вне контракта, давайте расширим его нормально")

〰️〰️〰️〰️〰️〰️〰️〰️
Порядок в DWH

#dev #de #dwh
Please open Telegram to view this post
VIEW IN TELEGRAM
6
⭐️ Insert-only факты и snapshot-измерения — быстрый путь к стабильным таблицам

Большинство бизнес-вопросов в нормальных компаниях решается через обычные fact + dimension таблицы в стиле Кимбелла. Без извращений.

Предлагаю тебе практичный сетап:

1️⃣ Insert-only fact таблицы
Простое правило:

Вставили строку в факт — больше её не обновляем (кроме осознанного backfill).

Плюсы:
🔘 история событий не переписывается
🔘 легче дебажить: «вот, в этот день такой набор фактов и был»
🔘 меньше сложных merge-операций и конфликтов

2️⃣ Snapshot dimension таблицы
Вместо сложных SCD2 везде:
🔘 на каждый прогон пайплайна полностью пересобираем измерение (snapshot)
🔘 храним несколько лет истории снапшотов
🔘 SCD2 оставляем только там, где реально нужно

3️⃣ Одно зерно на таблицу
Никаких "и по пользователю, и по заказу, и по клику в одной таблице". Только один чёткий grain.

4️⃣ Флаги не плодим, чтобы не получить ад с флагами
Если колонка зависит от какого-то флага — лучше разнести в явно названные колонки, а не "если flag = 1, тогда тут другое значение".

5️⃣ Нейминг и ключи
🔘 использовать вменяемые нейминги (хотя бы кимбелловские)
🔘 surrogate key можно не городить, если технология позволяет нормально джойниться по натуральным ключам

6️⃣ View как интерфейс
Для пользователей всегда отдаём view, а не саму таблицу:
🔘 можно менять схему под капотом
🔘 можно вьюхой выбирать актуальный snapshot
🔘 пользователям не больно

Это очень скучные правила, но именно они позволяют делать модели быстро и не умирать от рефакторинга каждые 3 месяца.

〰️〰️〰️〰️〰️〰️〰️〰️
Порядок в DWH

#dev #de #dwh
Please open Telegram to view this post
VIEW IN TELEGRAM
5❤‍🔥2😁111
Forwarded from Dealer.AI
Про разработку и AI-специалистов.

Дядя открывает рубрику #холиварвыходногодня. На рынке найма сталкиваюсь с заблуждением, что MCP должны создавать MLE или DS спецы. На самом деле, это придумано на замену API, для более нативной интеграции LLM и агентов с сервисами, т.к. обычные стандартные API для этого не подходят AS IS. А их доработки всеравно приведут вас к MCP-like. И делать это должны не ML-only спецы, а бэкендр разработчики, пусть и совместно с MLE, но при необходимости. При этом же я вижу кругом евангелистов агентов, которые вчерашние swe и другие представители разработки, и это, на мой взгляд, не с проста.

Действительно агентные системы это прикладной инструмент, который использует апи и AI-технологии вокруг, без необходимости знать детали работы LLM под капотом. Надо разделять разработку core технологий которые ложатся в основу agents и сами конструкторы агентных систем, для создания которых с уже готовыми блоками в виде библиотек, MCP, LLM ds/MLE уже не нужны. Свою работу они сделали, дали то, на чем это строится в лице моделей.

Моя позиция в том, что MCP и агентные системы, как прикладные решения, удел вчерашних разработчиков, когда как технологии (модели, алгоритмы консенсуса и др) в основании этого под капотом, удел ML/DL спецов. Причём, обратите внимание, как агентные системы нативны с тч зрения алгоритмики и архитектуры построения, что делает их проектирование разрабами более удобным и нативным для этих спецов.

Конечно все кругом хотят единорогов, которых очень мало, да ещё они имеют биас - или они больше разрабы или больше математики, редко когда они одинаково хороши в обоих местах.

А что думаете вы? Пишите в комментариях. 👇👇👇👇
Please open Telegram to view this post
VIEW IN TELEGRAM
💯41
🙂 4 проверки данных, которые дают 80% пользы

Если ты когда-либо видел, как неверные цифры попадают в отчёт к C-level — ты понимаешь, какой это треш. Доверие ломается мгновенно.

Важно фокусироваться на 4 типах DQ-проверок с максимальным ROI:

1️⃣ Table constraints
🔘 уникальность (id уникален)
🔘 not null там, где бизнес-логика не допускает пропусков
🔘 допустимые значения (enums, статусы, типы событий)

2️⃣ Referential integrity
🔘 каждый ключ измерения в факте должен существовать в соответствующем dimension
🔘 иначе join выкинет часть строк, и цифры поедут.

3️⃣ Reconciliation checks
🔘 сравниваем количество строк и ключевые агрегаты (выручка, количество заказов) между источником и витриной
🔘 допускаем небольшой дельта-порог, но не бесконечный

4️⃣ Metric variance
🔘 отслеживаем, насколько текущий запуск отличается от исторического диапазона
🔘 если привычно имеем +2–3%, а тут внезапно –40% — пора останавливать пайплайн.

📌 Фишка:
лучше иметь эти 4 хороших типа проверок, чем 40 рандомных, которые никто не смотрит.

Отдельно рекомендую использовать WAP-паттерн (write-audit-publish): сначала загрузили и проверили данные, потом только опубликовали конечную таблицу потребителям.

〰️〰️〰️〰️〰️〰️〰️〰️
Порядок в DWH

#dev #de #dwh
Please open Telegram to view this post
VIEW IN TELEGRAM
210😁1💯1