Telegram Group & Telegram Channel
Сегодня 31 декабря.
Поэтому расскажу кейс о работе 31 декабря много лет назад. Горел флагманский и достаточно сложный и в плане бизнеса и плане инфры (первое внедрение в пром на спарке за историю банка, причем на паре десятков источников и с кучей моделей и модулей) проект.
Всем отделом, вне зависимости от грейда, 31 декабря часов до 11 вечера сидели на работе – все ковыряли данные и пилили модели, причем это ровно тот случай, когда в комнате чувствуешь себя самым тупым. Наш отдел реально знали и уважали ☺️
И вот примерно за что: сидит очень синьорный DS (наверное самый синьорный, которого я встречал вживую) и в реплике источника с ODS (operational data store, а не тот который был слаке) в таблице на 100+ млрд записей нашел 14 😱 записей, которые менялись при перезапуске скрипта сразными параметрами спарка.

Как была устроена реплика: если запись в источнике изменялась / удалялась / добавлялась, то в реплике писалась дата до десятой секунды, и тип операции – ‘I/U/D’. То есть чтобы собрать данные на дату в прошлое (чтобы потом сделать фичи) надо было написать что-то вроде:

select a.*
from
(
select
*
, row_number() over (partition by smth order by ods_dt desc) as rn
from table
where ods_date < our_date
) a
where (a.rn = 1) and (a.ods_type <> ‘D’)

Заменив row_number() на rank() он нашел что у одной и той же записи могут быть изменения, которые совпали с точностью до десятой доли секунды! И вот он ковырял пока не нашел незадокументированное поле ods_seq, которое хранило какой-то локальный номер операции. Добавил в сортировку оконной функции и дождался пересчета всех тестов на этой огромной таблице.
14 записей на 100+ млрд! И для него это был как песок в часах – недопустимое расхождение, которое вызывало зуд и зубовный скрежет.
Другой (начальник отдела, кстати) до победного калибровал свою модель. И мы работали полный день и второго января и третьего и так до самой сдачи проекта (только 8 марта случился следующий выходной).

Не столько из-за дедлайна (его мы просрочили месяцев на 5 в итоге), сколько из-за качества – не то чтобы мы боялись не пройти валидацию, нет, нас увлекал сам процесс сделать модели на совесть.

И вот я искренне желаю вам в Новом Году оказаться в таком коллективе, где люди сильнее вас, умнее вас, и увлечены как минимум не меньше вас; на таком проекте где от вашей работы и внимания к деталям зависит действительно очень много, чтобы у вас была здоровая гордость за свою работу!

Моя мечта чтобы быть DS / MLE было не менее почетно чем врачом 👨‍🔬 или адвокатом 👨‍⚖️, чтобы мы с вами работали не потому что “продакт - бэклог - фича - жира” 🤮, а потому что делаем важное и очень классное дело, и на этих данных в этой области мы действительно первооткрыватели, нас драйвят файндинги и эффект на бизнес, на конечного пользователя. Нас драйвит изящество и скорость алгоритмов, красивые подходы, решенные задачи.

Новых знаний вам! Новых свершений! С наступающим Новым 2025 годом!
🍾🎄🥂🔔☃️🎄🥳
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/datarascals/86
Create:
Last Update:

Сегодня 31 декабря.
Поэтому расскажу кейс о работе 31 декабря много лет назад. Горел флагманский и достаточно сложный и в плане бизнеса и плане инфры (первое внедрение в пром на спарке за историю банка, причем на паре десятков источников и с кучей моделей и модулей) проект.
Всем отделом, вне зависимости от грейда, 31 декабря часов до 11 вечера сидели на работе – все ковыряли данные и пилили модели, причем это ровно тот случай, когда в комнате чувствуешь себя самым тупым. Наш отдел реально знали и уважали ☺️
И вот примерно за что: сидит очень синьорный DS (наверное самый синьорный, которого я встречал вживую) и в реплике источника с ODS (operational data store, а не тот который был слаке) в таблице на 100+ млрд записей нашел 14 😱 записей, которые менялись при перезапуске скрипта сразными параметрами спарка.

Как была устроена реплика: если запись в источнике изменялась / удалялась / добавлялась, то в реплике писалась дата до десятой секунды, и тип операции – ‘I/U/D’. То есть чтобы собрать данные на дату в прошлое (чтобы потом сделать фичи) надо было написать что-то вроде:


select a.*
from
(
select
*
, row_number() over (partition by smth order by ods_dt desc) as rn
from table
where ods_date < our_date
) a
where (a.rn = 1) and (a.ods_type <> ‘D’)

Заменив row_number() на rank() он нашел что у одной и той же записи могут быть изменения, которые совпали с точностью до десятой доли секунды! И вот он ковырял пока не нашел незадокументированное поле ods_seq, которое хранило какой-то локальный номер операции. Добавил в сортировку оконной функции и дождался пересчета всех тестов на этой огромной таблице.
14 записей на 100+ млрд! И для него это был как песок в часах – недопустимое расхождение, которое вызывало зуд и зубовный скрежет.
Другой (начальник отдела, кстати) до победного калибровал свою модель. И мы работали полный день и второго января и третьего и так до самой сдачи проекта (только 8 марта случился следующий выходной).

Не столько из-за дедлайна (его мы просрочили месяцев на 5 в итоге), сколько из-за качества – не то чтобы мы боялись не пройти валидацию, нет, нас увлекал сам процесс сделать модели на совесть.

И вот я искренне желаю вам в Новом Году оказаться в таком коллективе, где люди сильнее вас, умнее вас, и увлечены как минимум не меньше вас; на таком проекте где от вашей работы и внимания к деталям зависит действительно очень много, чтобы у вас была здоровая гордость за свою работу!

Моя мечта чтобы быть DS / MLE было не менее почетно чем врачом 👨‍🔬 или адвокатом 👨‍⚖️, чтобы мы с вами работали не потому что “продакт - бэклог - фича - жира” 🤮, а потому что делаем важное и очень классное дело, и на этих данных в этой области мы действительно первооткрыватели, нас драйвят файндинги и эффект на бизнес, на конечного пользователя. Нас драйвит изящество и скорость алгоритмов, красивые подходы, решенные задачи.

Новых знаний вам! Новых свершений! С наступающим Новым 2025 годом!
🍾🎄🥂🔔☃️🎄🥳

BY Дата канальи — про «специалистов» в данных / ML / AI


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/datarascals/86

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

To pay the bills, Mr. Durov is issuing investors $1 billion to $1.5 billion of company debt, with the promise of discounted equity if the company eventually goes public, the people briefed on the plans said. He has also announced plans to start selling ads in public Telegram channels as soon as later this year, as well as offering other premium services for businesses and users.

The global forecast for the Asian markets is murky following recent volatility, with crude oil prices providing support in what has been an otherwise tough month. The European markets were down and the U.S. bourses were mixed and flat and the Asian markets figure to split the difference.The TSE finished modestly lower on Friday following losses from the financial shares and property stocks.For the day, the index sank 15.09 points or 0.49 percent to finish at 3,061.35 after trading between 3,057.84 and 3,089.78. Volume was 1.39 billion shares worth 1.30 billion Singapore dollars. There were 285 decliners and 184 gainers.

telegram from us


Telegram Дата канальи — про «специалистов» в данных / ML / AI
FROM USA