дата инженеретта @data_engineerette Channel on Telegram

дата инженеретта

@data_engineerette


серьезно говорим
о несерьезных вещах
вдохновляемся

по вопросам сюда: @aigul_sea

дата инженеретта (Russian)

Вступайте в наш канал 'дата инженеретта', где мы серьезно говорим о несерьезных вещах. Здесь вы найдете вдохновение и интересные обсуждения. Этот канал предназначен для всех, кто увлечен работой с данными и инженерией. Мы делимся своими знаниями, опытом и идеями, чтобы помочь вам стать лучшими в своей области. Задавайте вопросы, делитесь своими мыслями и вдохновляйтесь вместе с нами! Для связи с нами обращайтесь к @aigul_sea. Присоединяйтесь к 'дата инженеретта' и становитесь частью нашего сообщества уже сегодня!

дата инженеретта

22 Nov, 06:56


Я прочитала DAMA-DMBOK

Это книжка на 830 страниц - "Свод знаний по управлению данными". Мне ее как-то советовали прочитать, и вот полтора месяца я упорно это делала 📖

Вкратце эта книга про фреймворк DAMA (Data Management Association). Про то, как должно быть. Он включает такие аспекты:
🔵архитектура и моделирование данных
🔵хранение
🔵безопасность
🔵интеграции
🔵основные данные
🔵метаданные
🔵качество данных
и еще несколько (на картинке - колесо DAMA)

Я по ходу чтения записывала интересные, новые для меня моменты, буду постепенно делиться)

Зачем это все нужно?

Одни и те же данные складываются по-разному, называются по-разному. Одинаковые метрики считаются по-разному.

Глобальная цель - чтобы я из маркетинга и Оля из любой другой команды понимали, что цена всегда до ндс, а clientid имеет тип string и обозначает человека, который купил у нас продукт.

Это нужно, чтобы больше не переписываться в почте на тему "А это что означает? А что заложено в эту метрику?". Мы делаем каталог данных, и каждый ходит туда и смотрит нужные ему вещи:
🟡бизнес-смысл
🟠бизнес-правила
🟡источник
🟠логика преобразований из системы в систему (lineage)

🙂 Еще сквозь всю книгу красной линией проходит мысль - бизнес и IT должны работать вместе. Кстати, у нас когда-то вставал вопрос - нужно ли IT-командам на 100% понимать, как их работа влияет на метрики бизнеса?

В Сбере есть активность "Random Coffee", где рандомно подбирается зареганный собеседник. И несколько человек мне ответили, что они просто крутят модельки и жизнь прекрасна 🌼

Что думаете?

#dama_dmbok

дата инженеретта

20 Nov, 08:01


Мы в этой жизни всё делаем правильно?

Картина буквами: 10% от всего плана запросов

дата инженеретта

18 Nov, 08:15


Как я забила всю оперативку

⭐️Нужно было переложить табличку из кх в s3 через Airflow. Табличка небольшая, проблем быть не должно

Идея №1

1️⃣Считать табличку из кх в pandas dataframe
2️⃣Сохранить датафрейм в .csv файл
3️⃣Залить в s3 через либу boto3

Пока тестирую и отлаживаю на 10 строках - все ок. Убираю лимит - и Airflow становится очень плохо, он не прогружается и не дает завершить таску 🥲

Смотрю в источник - там 12млн строк. Неужели pandas не может столько переварить? Очевидно, надо искать другой способ

Идея №2

Я раньше сталкивалась, что в кх можно прям запросом читать из s3. Вот так:

SELECT * FROM s3()


Оказывается, это работает и на запись!

INSERT INTO FUNCTION s3()
SELECT * FROM your_table


В эту функцию можно добавлять разные настройки. Из полезного - разбить вашу табличку на несколько файликов. Примерно такой код у меня работает:

INSERT INTO FUNCTION
s3(
'filename_{{_partition_id}}.csv.gz',
'S3_ACCESS_KEY',
'S3_SECRET_ACCESS_KEY',
'CSVWithNames'
)
PARTITION BY rand % 10
SELECT * FROM your_table;


Что тут есть?

⚫️{_partition_id} – это переменная, которая пробрасывается сама. Просто счетчик от 0
Если вставлять этот код в строку, нужно обязательно обрамить скобками {} дважды – иначе s3 воспринимает это по-другому и падает с ошибкой

⚫️.gz – алгоритм компрессии файликов

⚫️CSVWithNames – мы включаем названия столбцов первой строкой

⚫️PARTITION BY [столбец] - можно выбрать существующий или просто задать рандомно

И этот метод работает просто в разы быстрее. Теперь табличка на 12 млн строк пишется за несколько секунд 🙂

дата инженеретта

15 Nov, 05:50


А вы знали, что существует лидерский манифест о данных?

дата инженеретта

08 Nov, 13:59


Подъехала запись и презы с митапа

https://developers.sber.ru/kak-v-sbere/events/data_meetup_october

дата инженеретта

06 Nov, 14:01


Я иду на интенсив по англу!

Есть люди, которые спрашивают про мой уровень англа и как я до него дошла. Все-таки он очень важен в нашей сфере, и гуглеж на англ - наше все. Так что рассказываю свою краткую историю...

📖 История

🟣Начиналось все очень плохо. Два года (весь 2-3 класс) мы просто читали, а в 4 снова начали учить буквы 💢

🟣В 5 всем классом поменяли препода, но уже были проблемы с аудированием.

🟣В 8 я перешла в другую школу с делением на сильную и слабую группы. По тестам я чуть недотянула, но мне разрешили остаться в сильной и попробовать. Мы на уроках смотрели Гарри Поттера в оригинале, и все понимали, а я нет 😭

🟣В 10 нам сказали, что именно мы все пишем ЕГЭ в след году. Я год с лишним ходила к репетитору, пока нам не сказали "отмена"

🟣В универе снова были входные тесты, и групп было уже 4 по градации. Да, я попала в сильную! Некоторые снова смотрели фильмы в оригинале без субтитров и имели большой словарный запас. Тогда я тоже начала смотреть фильмы 📺

🟣На 3 курсе я начала играть в онлайн-игрульку и наткнулась на english-speaking community. В течение 3х лет я подключалась на голос для обсуждений, читала абсолютно все чатики, постила мемы на англ, вела свой словарик частых сокращений, переписывалась с игроками в личке. Заметила, что у меня появился американский акцент

🟣Потом я захотела получить опыт иностранных собесов на будущее, но мое резюме было никому не нужно 🥲
А сейчас я наткнулась на AgileFluent, они помогают специалистам из IT и digital находить работу за рубежом, а также прокачивать бизнес-английский. У них есть крутые программы, ориентированные не на королевский Future Perfect Continuous in the Past, а на жизнь. И я решила попробовать какой-нибудь интенсив на 1 месяц.

Всего их 3, но мне понравились вот эти:
1️⃣ Engish for IT teams, где на англ ведутся скрам-церемонии (планирование, стендапы, демо, ретро)
2️⃣ Focus on Speaking - как решать конфликты, как давать фидбек и вести переговоры

Решила, что если с первым понятно - когда у тебя есть задачи, то кажется несложным спланировать спринт и рассказывать, чем ты занимался вчера и чем будешь заниматься сегодня.

А вот со вторым уже что-то поинтереснее.
🙂 Встречи 2 раза в неделю, где мы будем обсуждать реальные жизненные ситуации. Поток стартует 11 ноября, и если вы тоже хотите запрыгуть, то можете использовать мой реферальный код CREF-MMTTRM (7% на первую покупку)
Я в предвушении🙂

дата инженеретта

04 Nov, 15:55


Прошедший Data.Meetup

🕒24.10.2024 состоялся Data.Meetup 2024 в Сбере, где сначала рассказывали про сберовские штуки типо супермаркета или карты данных, а потом про Trino, Iceberg и Flink.

🐰 Оказалось, что у нас Trino внедряют, но как обычно с банковскими обвязками. Сейчас там сейчас 300+ пользователей, еще планируются доработки и добавление функционала. Показалось, что лучше еще подождать, пока это все подъедет. А на одном недавнем митапе мне сказали, что в озоне пилотится Trino.

Про Trino+Iceberg рассказывал спикер, который в этом году выступал на SmartData с похожим докладом тык

🐿 Больше всего понравился практический доклад по Flink - объясняли про окна событий на пальцах (точнее на белочках и орешках) и как их джойнить между собой. Лайк 👍

Я тут поресерчила в конфлюэнсе - у нас есть R&D команда, которая занимается ресерчами новых технологий. И они еще в начале 2022 года (если не раньше) тестили Trino, Iceberg, Hudi, Delta Lake (но не знаю, к чему пришли).

А на кофе-брейке я осмелилась подойти к CDO WB и начать разговор🌼 Помню, что еще давно писала ему по поводу рекламы моего канальчика, но после расценок решила ничего не делать))

дата инженеретта

01 Nov, 13:50


Я начала курс по систем дизайн

Давно хотела в это погрузиться - как проектировать, как считать ресурсы и нагрузку, как выбирать технологии

чтобы не только крутить таблички, но и выбиваться в тех лиды👔

У нас есть закупленные курсы, и конкретно этот от карпова на 5 недель. Я уже посмотрела первый вводный урок про то, что будет:

🔘как собирать фкц и нефкц требования
🔘как считать нагрузку
🔘как делать высокоуровневый дизайн
🔘а как покомпонентный
🔘а что по масштабированию, отзывчивости и мониторингу
🔘а сколько закладывать на это все в бюджет
🔘а может, лучше взять менее идеальную штуку, но по которой у нас есть экспертиза?

Среди спикеров Валерий Бабушкин, который накидал кучу непонятных букв типо ELP, consistent hashing, QPS, trie, фильтр Блума и т.д.
Ну ладно, не совсем непонятных 😁 Trie я видела в задачках на литкоде, а фильтр Блума использовала в магистерской)

Плюс это все еще и с точки зрения данных, а не чисто приложух
Короче, звучит супер хайпово 🍢

дата инженеретта

31 Oct, 11:41


🌟Ответ🌟

Вопрос тут

Правильный вариант - оба!

В having можно использовать:

⚫️любую агрегирующую функцию (необязательно ту, которая в селекте)
⚫️колонки из group by
⚫️константы (применение не придумала)

Так что чисто технически можно фильтровать значения и в having, но, вероятно, это будет дольше 😔 А в некоторых базенках оптимизатор сам делает, как where

дата инженеретта

29 Oct, 10:45


Закулисье IT: честный взгляд изнутри на управление проектами, продуктами и командами

Менеджмент продуктов и руководство в IT — сложный процесс, о котором известно не так много. На канале «Кем я хочу стать когда вырасту» автор рассказывает о развитии продуктов, продакт-менеджеров и работе руководителя.

Что стоит прочитать в первую очередь:
• От чего на самом деле зависит успех в IT
• Почему стремятся в руководителями и стоит ли это того?
• Почему не нужно идти на курсы программирования, чтобы работать в IT

Все посты основаны на личном опыте более 10 лет в роли тимлида и руководителя.

Подписывайтесь на канал, чтобы погрузиться в реальный мир IT без розовых очков.

Реклама. Миронова Н.О. ИНН: 772985604739 erid:2VtzqvNtpHS

дата инженеретта

28 Oct, 06:44


Мини-квиз

Есть два запроса. Какой из них корректный?

1️⃣
SELECT id, COUNT(*)
FROM demo
GROUP BY id
HAVING id = 3;


2️⃣
SELECT id, COUNT(*)
FROM demo
GROUP BY id
HAVING MIN(id) = 3;

дата инженеретта

23 Oct, 15:30


🌄 Зарубежные подкасты про данные

В конце "Fundamentals of DE" была ссылка на подкаст, который ведут авторы книги. И мне захотелось погуглить, а какие еще подкасты про де есть. Взяла за основу список с прошлогоднего поста на реддите, убрала неактивные и добавила новые. Поделитесь, кто что слушает и что рекомендуете?

Monday Morning Data Chat - от авторов
The Analytics Engineering Podcast
The Data Engineering Show
The Data Engineering Podcast
The Data Stack Show
Drill to Detail Podcast
Analytics Power Hour
DataTalks.Club
The Data Cloud Podcast
The MongoDB Podcast
The Analytics Everywhere Podcast
The Real Python Podcast
Plumbers of Data Science Podcast
What's New in Data?
The Datanation Podcast