WAP
Недавно на работе грумили задачку по реализации WAP-паттерна на Iceberg. А сегодня мой коллега написал статейку на 4 минутки про этот подход. При первом ознакомлении все расставляет по полочкам
https://habr.com/ru/articles/937738/
Для преисполненных - доклад с митапа про инкрементальные загрузки на dbt с использованием паттерна
https://youtu.be/iLxdRPUWS8k?si=pS6jpMj5E-KRtsWe
Недавно на работе грумили задачку по реализации WAP-паттерна на Iceberg. А сегодня мой коллега написал статейку на 4 минутки про этот подход. При первом ознакомлении все расставляет по полочкам
https://habr.com/ru/articles/937738/
Для преисполненных - доклад с митапа про инкрементальные загрузки на dbt с использованием паттерна
https://youtu.be/iLxdRPUWS8k?si=pS6jpMj5E-KRtsWe
Хабр
WAP паттерн в data-engineering
В русскоязычной части интернета присутствует много статей по теме паттернов разработки, однако я не нашел никакой информации о паттернах работы с данными. В данной статье я хочу рассказать о паттерне...
❤9🔥8 4
Топ мировые конфы по DE
После просмотра доклада из Netflix в предыдущем посте я задумалась - а какие вообще есть мировые де конференции в 2025, которые можно посмотреть онлайн? Что там вообще происходит, у нас еще есть точки соприкосновения?
Почитала статейки, комменты на реддите, посмотрела на каналы, подписчиков, темы видосов и вот что откопала:
1️⃣ Самым прикольным мне показался Data + AI Summit от Databricks
Здесь ссылка только на 1 плейлист, а их там просто десятки
2️⃣ "no bullsh*t data conference", бывший DataEngConf - Data Council, тоже показался интересным
3️⃣ Проходит в Лондоне - Big Data LDN
4️⃣ по dbt есть Coalesce
Будет круто, если вы следите за какой-нибудь конфой и поделитесь ссылочкой
После просмотра доклада из Netflix в предыдущем посте я задумалась - а какие вообще есть мировые де конференции в 2025, которые можно посмотреть онлайн? Что там вообще происходит, у нас еще есть точки соприкосновения?
Почитала статейки, комменты на реддите, посмотрела на каналы, подписчиков, темы видосов и вот что откопала:
Здесь ссылка только на 1 плейлист, а их там просто десятки
Будет круто, если вы следите за какой-нибудь конфой и поделитесь ссылочкой
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Data + AI Summit 2025 - Data Lakehouse Architecture and Implementation
Share your videos with friends, family, and the world
❤12🔥7
Метод «затраты-эффект»
Ко мне поступил запрос - как понять, что задача бесполезная? Расскажу, как мы это делали
📊 У нас проводились общие ретро на несколько команд, куда выносились текущие проблемы. На них команды рандомно перераспределялись, и мы генерили идеи по их решению. Напротив каждой идеи мы ставили сложность ее реализации и импакт от нее по шкале от 1 до 10
Например, есть такой пул идей:
1️⃣ Поднять собственный кластер
Нужны ресурсы, настройка, проект, но позволит самим управлять своим кодом и релизить в любое время
Complexity - 10, Impact - 10
2️⃣ Навесить SLA на поставщиков данных
Нужно утвердить сроки, условия, подключить юр отдел, но данные будут качественнее
Complexity - 6, Impact - 9
3️⃣ Ускорить время раскатки проекта
Есть идеи для решения, нужно потестить, при этом разработчики не будут ждать час, смотря на медленно появляющиеся логи
Complexity - 1, Impact - 7
4️⃣ Автоматически генерировать зависимости между тасками в даге
Непонятно, как подступиться, забираем у пользаков возможность самим управлять, еще и может все поломаться
Complexity - 10, Impact - 1
5️⃣ Добавить алерт на null поля в данных
Всего 1 sql-скрипт, а мы узнаем состояние данных сразу, а не через день, когда витрина некорректно рассчиталась и нужно все пересчитать
Complexity - 1, Impact - 10
6️⃣ Сделать одинаковый нейминг временных таблиц
Техническая доработка, на бизнес не влияет
Complexity - 1, Impact - 1
Теперь - как приоритизировать? Думаю, многим это известно или понятно на подсознательном уровне:
⬇️ C ⬆️ I - легко делать, крутой результат, берем в первую очередь
⬆️ C ⬆️ I - задача сложная, но оправдывает инвестиции, берем после первых
⬇️ C ⬇️ I - несложная, но и эффекта нет, берем по остаточному принципу, когда больше нечем заняться
⬆️ C ⬇️ I - теряем много времени ради ничего, не берем
В нашем примере можно взять в таком порядке:
5 3 2 1 6 (4 выкидываем)
Ко мне поступил запрос - как понять, что задача бесполезная? Расскажу, как мы это делали
Например, есть такой пул идей:
Нужны ресурсы, настройка, проект, но позволит самим управлять своим кодом и релизить в любое время
Complexity - 10, Impact - 10
Нужно утвердить сроки, условия, подключить юр отдел, но данные будут качественнее
Complexity - 6, Impact - 9
Есть идеи для решения, нужно потестить, при этом разработчики не будут ждать час, смотря на медленно появляющиеся логи
Complexity - 1, Impact - 7
Непонятно, как подступиться, забираем у пользаков возможность самим управлять, еще и может все поломаться
Complexity - 10, Impact - 1
Всего 1 sql-скрипт, а мы узнаем состояние данных сразу, а не через день, когда витрина некорректно рассчиталась и нужно все пересчитать
Complexity - 1, Impact - 10
Техническая доработка, на бизнес не влияет
Complexity - 1, Impact - 1
Теперь - как приоритизировать? Думаю, многим это известно или понятно на подсознательном уровне:
В нашем примере можно взять в таком порядке:
5 3 2 1 6 (4 выкидываем)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥8❤4 4
Однажды в резюме видела такие строчки в описании. Долгое время думала 🤦♂️ По сути то же самое, как добавить “подписан на дата инженеретту”
С другой стороны, человек осведомлен, что творится в индустрии, расширяет горизонты своих познаний
Хотя эти митапы каждую неделю проводятся…
Что думаете?
🤔 - кринж
❤️ - не кринж
С другой стороны, человек осведомлен, что творится в индустрии, расширяет горизонты своих познаний
Хотя эти митапы каждую неделю проводятся…
Что думаете?
🤔 - кринж
❤️ - не кринж
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔123❤28 6🔥1🤷1
Serializability vs Linearizability
Этим понедельничным деньком настало время разобраться между двумя очень похожими терминами🤓
💋 Есть 2 счета с денюжками: A=30 и В=70, Тотал=100. Они не могут в тотале уйти в минус. Две параллельные транзакции пытаются снять по 100
Что происходит в несериализуемой, сериализуемой и линеаризуемой системах?
1️⃣ Несериализуемая
1: снимает 100 с А
2: снимает 100 с В
Баланс: А=-70, В=-30, Тотал=-100
Возникла аномалия, мы нарушили правило банка
2️⃣ Сериализуемая
1: снимает 100 с А и пытается закоммитить
2: снимает 100 с В и пытается закоммитить
БД сравнивает результат, как если бы они выполнялись последовательно. Если закоммитить сначала первую транзакцию, то состояние будет А=-70, В=70, Тотал=0. Вторая не может снять, потому что в тотале 0, она откатывается. Можем вместо первой закоммитить вторую, таймлайн не важен
3️⃣ Линеаризуемая
1: снимает 100 с А, текущее состояние А=-70, В=70, Тотал=0
2: уже видит, что в тотале 0, и даже не пытается
А вот здесь уже важно, какая транзакция началась раньше
〰️ 〰️ 〰️
Надеюсь, вам стало чуточку понятнее)
Этим понедельничным деньком настало время разобраться между двумя очень похожими терминами
Что происходит в несериализуемой, сериализуемой и линеаризуемой системах?
1: снимает 100 с А
2: снимает 100 с В
Баланс: А=-70, В=-30, Тотал=-100
Возникла аномалия, мы нарушили правило банка
1: снимает 100 с А и пытается закоммитить
2: снимает 100 с В и пытается закоммитить
БД сравнивает результат, как если бы они выполнялись последовательно. Если закоммитить сначала первую транзакцию, то состояние будет А=-70, В=70, Тотал=0. Вторая не может снять, потому что в тотале 0, она откатывается. Можем вместо первой закоммитить вторую, таймлайн не важен
1: снимает 100 с А, текущее состояние А=-70, В=70, Тотал=0
2: уже видит, что в тотале 0, и даже не пытается
А вот здесь уже важно, какая транзакция началась раньше
Надеюсь, вам стало чуточку понятнее)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15 2
Урок русского языка без литературы
У нас на этой неделе проходят уроки в рамках программы "Back To School". Вчера был урок русского языка про письменную коммуникацию, который вел Максим Ильяхов из "Пиши, сокращай"🙂
Он очень прикольный, по манере общения тоже все четко, ясно, без лишней воды, параллельно все конспектировал. В конце прислали методичку по деловой коммуникации, по мотивам которой был урок
Только по ходу урока осознала, что не сделала домашку. Надо было воспользоваться шансом и подготовить интересные вопросики для такого препода😪
Цель урока - писать так, чтобы быстро изучить и быстро принять решение
Если нужно обсудить несколько тем, лучше сделать несколько писем. Иначе:
⏺️ нам не ответят, потому что длинное письмо отложат на потом
⏺️ нам не ответят, потому что сразу на все 5 тем сложно ответить
⏺️ нам ответят на одну тему, а про остальные забудут
Обязательно структурировать текст, чтобы какие-то блоки можно было пропустить
Основные мысли:
У нас на этой неделе проходят уроки в рамках программы "Back To School". Вчера был урок русского языка про письменную коммуникацию, который вел Максим Ильяхов из "Пиши, сокращай"
Он очень прикольный, по манере общения тоже все четко, ясно, без лишней воды, параллельно все конспектировал. В конце прислали методичку по деловой коммуникации, по мотивам которой был урок
Только по ходу урока осознала, что не сделала домашку. Надо было воспользоваться шансом и подготовить интересные вопросики для такого препода
Цель урока - писать так, чтобы быстро изучить и быстро принять решение
В письме желательно заложить такой объем тем, который можно охватить за 90 секунд на светофоре или за один укус пирожка
Если нужно обсудить несколько тем, лучше сделать несколько писем. Иначе:
Обязательно структурировать текст, чтобы какие-то блоки можно было пропустить
Нельзя из письма отправлять читателя на поиски того, что вам от него нужно. Представьте, что вы
принесли документы директору на подпись. Вы не будете просить его самостоятельно сходить за
документами в бухгалтерию
Основные мысли:
— Одно письмо — одна область
— Делить на разделы
— Простые подзаголовки
— Начала разделов дружат с заголовками, не прятать ключевые слова внутри абзаца
— Просьбы всегда на отдельной строке, в отдельном абзаце
— Перечни связаны с заголовками
— Абстракция + пример + антипример (образы, как кино)
— Человек + делает + так
— «Объясни как пятилетке»
— Сокращай через ChatGPT / Ollama
— В задачу добавить доп. материалы
— Чтобы напомнить: «Это еще актуально»
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤2
Soft Delete Techniques
Или как понять, что ваши данные кому-то нужны
Есть два героя: Миша (продуктовый аналитик) и Артем (дата инженер). С ними случилась такая история:
🙂 привет, Миша! ты три года назад создавал таблицу user_orders_check_agg_m, она занимает 100тб, последний раз использовалась в прошлом году. она еще нужна, можно удалить?
🦔 привет! можно, мы ее готовили для экспериментов, но их отменили
Кластер задышал, ведь с репликацией это целых 300тб свободного места
Через неделю Миша приходит:
🦔 Артем, помнишь, мы обсуждали табличку user_orders_check_agg_m? у нас снова запускается эксперимент, нам срочно нужно ее восстановить!!!
😳 ......
Артем находит цепочку зависимостей:
user_orders_check_agg_m ->
user_orders_check_agg ->
user_orders_check ->
user_orders_abc, user_orders_def ->
user_orders
Причем все промежуточные таблицы уже удалены
Артем поднимает старые скрипты, адаптирует их под новую версию спарка, переписывает под новую схему данных, пересоздает таблички, тестирует, ставит на расчет. Через месяц все готово
Но команда не успела зарелизить запланированные фичи. Все клиенты ушли к конкурентам
Какие есть варианты, чтобы помочь Артему и команде меньше нервничать в следующий раз?
1️⃣ Переименовать табличку - сразу найдем среди сотен процессов те, которым она нужна
2️⃣ Переместить в .Trash - когда мы удаляем руками из hdfs, они перемещаются в папку .Trash. Там они хранятся столько, сколько задано в fs.trash.interval при настройке кластера. Поэтому будет какое-то время прийти за ними
3️⃣ Переместить в другую папку для мусора и периодически подчищать ее
Есть еще другие варианты? Или это проблема Миши, что он разрешил дропнуть таблицу?😁
Или как понять, что ваши данные кому-то нужны
Есть два героя: Миша (продуктовый аналитик) и Артем (дата инженер). С ними случилась такая история:
Кластер задышал, ведь с репликацией это целых 300тб свободного места
Через неделю Миша приходит:
Артем находит цепочку зависимостей:
user_orders_check_agg_m ->
user_orders_check_agg ->
user_orders_check ->
user_orders_abc, user_orders_def ->
user_orders
Причем все промежуточные таблицы уже удалены
Артем поднимает старые скрипты, адаптирует их под новую версию спарка, переписывает под новую схему данных, пересоздает таблички, тестирует, ставит на расчет. Через месяц все готово
Но команда не успела зарелизить запланированные фичи. Все клиенты ушли к конкурентам
Какие есть варианты, чтобы помочь Артему и команде меньше нервничать в следующий раз?
ALTER TABLE exp.user_orders_check_agg_m RENAME TO exp.user_orders_check_agg_m_trash;
hdfs dfs -rm -r user_orders_check_agg_m_data
INFO fs.TrashPolicyDefault: Moved: 'hdfs://data/user_orders_check_agg_m_data' to trash at: hdfs://data/.Trash/Current/user/admin/user_orders_check_agg_m_data
hdfs dfs -mv user_orders_check_agg_m_data some_trash_folder
Есть еще другие варианты? Или это проблема Миши, что он разрешил дропнуть таблицу?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15 11❤5👍2😁2
4. Встречи 1:1
Продолжаю рассказывать про курс команды
Третий модуль - тут
Описание программы - тут
Что рассмотрели:
⏺ что обсуждать, как, как часто, зачем
⏺ виды 1:1
⏺ активное слушание
⏺ работа с сопротивлением (что будет, если ничего не поменять/что будет, если мы это изменим)
⏺ коммуникация непростых новостей, нытинг
Какие виды есть:
⏺ синхронизация
⏺ мотивационный
⏺ развивающий
⏺ корректирующий
База про 1:1:
⏺ что у нас уже есть/чего не хватает
⏺ что мы с этим делаем/как поддержать
⏺ обмен ОС
⏺ опционально: поболтать про жизнь
Обязательно прийти к договоренностям и лучше фиксировать вопросы к встрече/выводы письменно
Важные вопросы:
Из чатика с участниками забрала такие комменты)
Продолжаю рассказывать про курс команды
Третий модуль - тут
Описание программы - тут
Что рассмотрели:
Какие виды есть:
База про 1:1:
Обязательно прийти к договоренностям и лучше фиксировать вопросы к встрече/выводы письменно
1:1 - это встреча не про задачи, которые делает человек, а про человека, который делает задачи
Важные вопросы:
Что я тебя не спросил, а стоило?
Если бы ты вел 1:1, какие вопросы ты бы хотел, чтобы были?
Из чатика с участниками забрала такие комменты)
Разные схемы - как палитра у художника
Голоса в моей голове сказали, что кое-кто допустил ошибку в отчете
Тревожные пирожки пропускают полностью положительные стороны и фокусируются на негативе
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤8 6💅2
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Две конфы
Прошедшие 3 дня для меня выдались супер насыщенными🔥 Все началось с вечера пт и big tech night. Сначала я не хотела туда идти, потому что нужно было оставить силы на полноценные сб и вс. Но за неделю решила все-таки зарегаться
🌙 Глава I. Big Tech Night
К моменту моей реги уже не осталось мест в Т-Банк, про Сбер с Ламодой я и так знаю, поэтому взяла X5 и Яндекс. X5 самый для меня непонятный, я ничего не знаю про их офис, что там, как. А Яндекс просто был самый длительный - мероприятия до полуночи и даже позже
(фотки 1-2) В X5 я сходила на экскурсию по офису (это переделанная овощебаза), послушала пару лекций, подегустировала колу и снеки в зоне Чижика, проиграла в правду или ложь🙂
(фотки 3-4) Потом доехала на трансфере в Яндекс. Там было больше народу и движа. Я послушала одну лекцию, сходила на поэтический AI-слэм и пожюрила, поела блинчики. На слэме мне понравился один млщик, он сделал и прикольные стихи (скину в комменты), и очень артистично их рассказывал, я в восторге😍 Все завершилось тусовкой сайлент-диско в наушниках и выступлением Найка Борзова
Домой вернулась в час ночи, а в 12 уже было открытие E-CODE...
🍉 Глава II. E-CODE
Здесь я была в прошлом году, и там было настолько круто, что я очень хотела пойти в этом тоже. Поэтому я зарегалась аж в начале июля))
Из докладов мне понравился только трек "Менеджмент". Возможно, всем остальным тоже, потому что люди даже в зал не помещались😄 Из вау штук я попробовала сыграть в гольф🙂
Будем ли мы сравнивать с прошлым годом? Конечно, будем
🍔 По части организации это было хуже. В районе обеда собрали весь фуршет, на улице еще не приехали гиросы/хот-доги/вок, и очередь с двух сторон выстроилась за единственной кесадильей. Кто-то ходил в кафешки рядом. Еда снова появилась только к 19-20 - не круто 😒 Фуршетная быстро улетучилась, батат фри я видела только на тарелках
Из мерча прям супер прикольного я не отметила, поэтому не сильно гналась за баллами. И нельзя было выкупать несколько штук одного предмета
🎤 Вечером выступали Научно-технический рэп и Нейромонах Феофан в первый день, ILWT и Заточка во второй. Поэтому во второй мы 100% отправились в зону караоке))
В прошлом году еще параллельно была мафия с проф ведущим, в этом тоже не было( И не было кого-то вроде Пушного( Огромный ажиотаж был только у Владимира Сурдина (астрофизик из МГУ), но он в прошлом году и так был
💬 По части не воркинга встретила 6 знакомых и обзавелась 8 новыми контактами. Пообщалась несколько минут с руководителем платформы данных, спросила, что у них там по лейкхаусу. Вот как-то так)
Прошедшие 3 дня для меня выдались супер насыщенными
К моменту моей реги уже не осталось мест в Т-Банк, про Сбер с Ламодой я и так знаю, поэтому взяла X5 и Яндекс. X5 самый для меня непонятный, я ничего не знаю про их офис, что там, как. А Яндекс просто был самый длительный - мероприятия до полуночи и даже позже
(фотки 1-2) В X5 я сходила на экскурсию по офису (это переделанная овощебаза), послушала пару лекций, подегустировала колу и снеки в зоне Чижика, проиграла в правду или ложь
(фотки 3-4) Потом доехала на трансфере в Яндекс. Там было больше народу и движа. Я послушала одну лекцию, сходила на поэтический AI-слэм и пожюрила, поела блинчики. На слэме мне понравился один млщик, он сделал и прикольные стихи (скину в комменты), и очень артистично их рассказывал, я в восторге
Домой вернулась в час ночи, а в 12 уже было открытие E-CODE...
Здесь я была в прошлом году, и там было настолько круто, что я очень хотела пойти в этом тоже. Поэтому я зарегалась аж в начале июля))
Из докладов мне понравился только трек "Менеджмент". Возможно, всем остальным тоже, потому что люди даже в зал не помещались😄 Из вау штук я попробовала сыграть в гольф
Будем ли мы сравнивать с прошлым годом? Конечно, будем
Из мерча прям супер прикольного я не отметила, поэтому не сильно гналась за баллами. И нельзя было выкупать несколько штук одного предмета
В прошлом году еще параллельно была мафия с проф ведущим, в этом тоже не было( И не было кого-то вроде Пушного( Огромный ажиотаж был только у Владимира Сурдина (астрофизик из МГУ), но он в прошлом году и так был
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤6 3
А вы часто обращаете внимание, какие вопросы задает собеседующий?
Недавно слушала пару собесов и отметила занятные вопросы:
🤩 Было ли такое, что пришли с бизнесовой постановкой, а дальше ты сам нашел, где взять источники и что с чем сложить?
🤩 Приходилось ли работать с BI?
Такого рода вопросы мне сразу говорят, что в компании что-то не так с процессами, ролями, нет системного аналитика, нет BI-аналитика. Даже если вам такое не нравится и вы это скажете, не факт, что таких задач не будет
🚩
🌿 🌿 🌿 🌿
🤩 В чем эффективность работы инженера данных?
🤩 Каков результат, метрика, артефакты, цель?
Вот это интересные, но очень экзистенциальные вопросы. Цели того же дата аналитика явнее, чем дата инженера. А вы как думаете, в чем ваша эффективность?
🌿 🌿 🌿 🌿
🤩 Что мне нужно о вас знать, помимо резюме?
Другими словами, продайте мне себя. Тоже такой странноватый вопрос. Все касаемо работы и так написано в резюме. Рассказывать, что у меня две кошки, а по пт я хожу в бар пить пиво?
🌿 🌿 🌿 🌿
🤩 Чем отличается Linux от Postgres?
Я слышала, как в одной команде сопровождения задавали этот вопрос. Он прям на базовый момент, но многие кринжуют с него😁
Недавно слушала пару собесов и отметила занятные вопросы:
Такого рода вопросы мне сразу говорят, что в компании что-то не так с процессами, ролями, нет системного аналитика, нет BI-аналитика. Даже если вам такое не нравится и вы это скажете, не факт, что таких задач не будет
Вот это интересные, но очень экзистенциальные вопросы. Цели того же дата аналитика явнее, чем дата инженера. А вы как думаете, в чем ваша эффективность?
Другими словами, продайте мне себя. Тоже такой странноватый вопрос. Все касаемо работы и так написано в резюме. Рассказывать, что у меня две кошки, а по пт я хожу в бар пить пиво?
Я слышала, как в одной команде сопровождения задавали этот вопрос. Он прям на базовый момент, но многие кринжуют с него
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9 6❤3