дата инженеретта
Kanalga Telegram’da o‘tish
мелкое — крупно, в глубоком разговоре мудрость приходит по вопросам сюда: @aigul_sea
Ko'proq ko'rsatish3 346
Obunachilar
+824 soatlar
-177 kunlar
+730 kunlar
Postlar arxiv
3 347
+2
Новое событие
Ходила в прошлом году на E-CODE, было просто бомбезно🔥🔥 Еда, активности, крутые стримы с лекциями, мерч, туса - и все бесплатно!
Пока все выкладывают сторис, рилс и шортсы, я сокращаю еще больше и делаю сторис из сторис))
3 347
Магистратура от Simulative и МИФИ по Analytics & Data Engineering
Это магистратура, которая делает из тебя DE, а не очередного выпускника с болью в глазах
Что это:
— 2 года учёбы (удаленно) - можно совмещать с работой
— есть бюджетные места - да, можно попасть бесплатно
— диплом гособразца, никакого “сертификата участника”
— преподаватели с опытом в проде
— всё по-взрослому: Kafka, Spark, DWH, Python, Airflow
Лично для меня выглядит как:
# Псевдокод нормального карьерного апгрейда
if хочешь_стать('DE') and устал_от('курсов') and не_готов('в MBA'):
идти_сюда('https://simulative.ru/analytics-and-de')
Короче, если вы как я — уже работаете с данными, но хочется глубже и системнее, а вторую вышку за 400к не готовы — можно попробовать.
Записавшиеся на магистратуру до 25 июля получат в подарок участие в тренинге на 8 недель «Научись делать выводы на основе данных», который еще сильнее бустанет старт вашей карьеры
Записывайтесь!3 347
YARN API
Иногда могут случаться разные вещи: у вас завис юпитер/вы сделали что-то не то, и вас заблочили/просто хочется программно килять приложухи. Мне пригодилось, когда я задудосила сервер, пытаясь в пт вечером разом создать тысячу папочек в hdfs 😁 У меня перестал открываться юпитер с 504 ошибкой
При этом у меня осталось работать тяжеловесное приложений с кучей ресурсов, и оно само по себе не убьется...
Нам понадобится всего два шага:
1️⃣Находим id приложения
https://yarn.com/ws/v1/cluster/apps?states=RUNNING,ACCEPTED&user=myuser&queue=myqueue2️⃣Становимся киллерами Можно сделать из Postman: PUT-запрос Content-Type: application/json Body raw -> JSON {"state": "KILLED"}
https://yarn.com/ws/v1/cluster/apps/application_1750947191600_26250/state?user.name=myuserИли в терминале:
curl -X PUT "https://yarn.com/ws/v1/cluster/apps/application_1750404105050_1823/state?user.name=myuser" \
-H "Content-Type: application/json" \
-d '{"state": "KILLED"}'
Проблему с 504 ошибкой я нашла в истории чата - пришлось в выходные отдохнуть, а в пн утром меня разблочили🙂3 347
CollapsingMergeTree
Прохожу бесплатный курс по кх "Managed Service for ClickHouse". Дошла до модуля 2 про виды движков, и меня настигло озарение ☁️
Вот есть движок CollapsingMergeTree - он сворачивает пары строк, у которых в ключе сортировки одинаковые значения, но при этом поле sign у одной из них равно 1, а у другой -1. Без паники! 🤚 Сейчас поясню на примере
CREATE TABLE user_activity (
UserID UInt64, --есть пользак
PageViews UInt8, --он посетил столько страниц
Sign Int8 --системное поле
)
ENGINE = CollapsingMergeTree(Sign)
ORDER BY UserID; --будем сворачивать по этому полю
Наш пользак 999 захотел что-то купить:
INSERT INTO user_activity VALUES (999, 10, 1); --сначала просмотрел 10 страниц
INSERT INTO user_activity VALUES (999, 10, -1), --а теперь 10 страниц уже неактуальны (видите -1?)
(999, 11, 1); --потому что он просмотрел 11 страниц
Т.е. тут явно видно, что update = delete + insert, где sign - это флажок удаления
Но есть нюанс - теперь в нашей таблице 3 строки, а нужна 1. Почему 3, ведь CollapsingMergeTree как раз и должен сам все объединить?
Потому что кх свои слияния производит не сразу, а когда-то потом. Но есть несколько способов получить то, что нужно:
1. FINAL - как будто слияние уже произошло
SELECT * FROM user_activity FINAL;
2. OPTIMIZE - заставляем сделать слияние прямо сейчас. Но у вас может не быть прав на это в продовой базе
OPTIMIZE TABLE user_activity;
SELECT * FROM user_activity; --FINAL уже не нужен
3. Посчитать самим
SELECT UserID, sum(PageViews * Sign)
FROM user_activity
group by UserID;
А ведь действительно 10*1 + 10*(-1) + 11*1 дает то, что нужно…3 347
🛢 В мире, где данные — новая нефть, растёт спрос на дата-инженеров.
Ведь именно они знают, как такую нефть добывать, обрабатывать и хранить. И пока компании осознают потребность в этих специалистах, конкуренция на рынке низкая, а зарплаты — высокие.
Освоить ключевые компетенции дата-инженера поможет онлайн-магистратура Нетологии и НИУ ВШЭ «Инженерия данных».
За 2 года вы на практике:
— изучите Python, Java, Scala, Kotlin и SQL,
— научитесь проектировать пайплайны и обрабатывать данные,
— научитесь работать с системами хранения данных и базами данных в облаке.
Программа даёт широкий простор для переквалификации, поэтому после учёбы сможете перейти в MLOps, DevOps или менеджмент.
Онлайн-формат позволяет учиться без отрыва от привычной жизни и совмещать занятия с работой. При этом у вас будет отсрочка от армии, льготы на проезд и все остальные бонусы очного обучения.
Станьте магистром программной инженерии с дипломом одного из лучших вузов страны и получите веское преимущество при приёме на работу: https://netolo.gy/efRr
Реклама. ООО "Нетология". ИНН 7726464125 Erid: 2VSb5wn3TRA
3 347
Активность коллег в мессенджере в выходные
Я несколько раз заглядывала в чаты в нерабочее время и видела, что многие коллеги онлайн. А вот сейчас таки решила подвести стату)
Взяла выборку в 55 коллег из моего ближайшего окружения и получила, что только 16% соблюдают work-life balance и не заходят по выходным 😐
Или они просто смотрят киношку на корп ноуте с открытой прогой...
3 347
+1
Готовый список задач для DE и не только
Зашла тут посмотреть, что на хх происходит. Я не поняла исходя из чего, но под местом работы вам предлагаются готовые задачи. Скорее всего, они подбираются по выбранной специализации, у меня там стоит аналитика и разработка. Кто-то уже видел такое, когда оно появилось?
Задачи через плюсик сразу вставляются в описание в виде отдельных пунктов. Я не поленилась, прокликала все, и у меня получилось 33 штуки. Пошлите играть в бинго)
3 347
Прочитала книжку про идиотов
В ней 408 страниц, но она очень быстро прочиталась всего за 4 дня
😐 Мне как будто это все и так было понятно. Есть 4 цвета, которые хорошо ложатся на темпераменты. Описываются их сильные и слабые стороны, как с ними общаться, как мотивировать, как окружающие их воспринимают и как они сами себя, кто с кем лучше сочетается и т.п.
Суть книги - кругом одни идиоты для человека, не понимающего других
Дам очень краткую характеристику с прикольными авторскими цитатками:
🔴красные - властные, деятельные
Или по-моему, или никак Только мертвые рыбы плывут по течению🟡желтые - много общаются, хотят все новое
Новые проекты - вот это да! Собрать новую и динамичную команду - вот это задача! Запустить проекты и начать рисовать светлые перспективы - ну конечно! А следить за тем, что в проекте идет не так?🟢зеленые - спокойные, ценят отношения, избегают конфликтов, таких большинство
Да, она, черт возьми, согласна🔵синие - все выясняют до мелочей
Откуда взялось масляное пятно на полу? Возможно, продырявился пакет, и что-то протекло. По какой причине он протек? Потому что он плохого качества. Но каким образом оказался пакет плохого качества? Потому что отдел закупок нашей фирмы сэкономил на расходах. Но кто велел нам снижать планку качества?Люди обычно сочетают в себе несколько цветов. Когда я умывалась, вдруг увидела ряд зеленых баночек, вспомнила, что мой любимый цвет - темно-зеленый, больше всего в моем гардеробе голубого, красного - совсем чуть-чуть, а желтого нет вообще. Норм подвязала? 😁 Мы как-то с коллегами проходили тест тут. Там 2 блока по 14 вопросов, можете тоже попробовать и покидать свои резы)
3 347
✨Магия конфигов✨
Запускала я свои спарк приложения в кубере. Ну надо потестить сначала на небольшом наборе данных и с небольшим количеством ресурсов
Сколько возьмем экзекьюторов?
Пусть будет 5 экзекьюторов, это уже не 1-2, но и не 40, для старта в самый раз
А сколько ядер?
Оптимально вроде как по 5 ядер, но 25 уже кажется многовато. Пусть будет по 4
Позапускала, потестила, все возникающие ошибки исправила. Теперь пора взять побольше данных и увеличить ресурсы
1️⃣ Пусть будет по 10 экзекьюторов
Caused by: java.lang.IllegalArgumentException: requirement failed: initial executor number 10 must between min executor number 1 and max executor number 5Ага, не получится, уже в системе заранее заложили лимит в 5 экзекьюторов, меняем:
spark.dynamicAllocation.maxExecutors=102️⃣Теперь поднимем ядра в 2 раза - стало 8. Приложение висело несколько часов, в Spark UI на вкладке Executors есть только один драйвер, ни одна таска не пошла считаться Ага, тоже не работает. Оказалось, что уже зашит конфиг и его нужно самому менять при необходимости:
spark.kubernetes.executor.limit.cores 4😊 Нет, ну вы представляете, как я просто интуитивно почувствовала ограничения кластера, когда изначально тестила?😁
3 347
Никому больше не приходит этот спам?
С рандомными несуществующими доменами, как будто «сгенерируй домен почты со словами market, analyst или report»:
b2bproanalyst.com
industriesreport.com
themarketjournals.com
truevaluereports.com
marketsharereport.com
reportarc.com
marketprospectus.com
yoymarkets.com
Они пишут раза по 3-4 и предлагают мне получить пример отчета по данным:
Would you be interested in receiving a Brief TOC/Sample of data lakes market research report - global forecast to 2030 study?
3 347
⚡️Как сменить профессию и стать востребованным инженером данных?
Инженер данных — один из вариантов развития профессии для тех, кто хочет брать на себя более сложные задачи, влиять на архитектуру решений и увеличивать свой доход.
На вебинаре 1 июля в 18:30 по МСК Александр Дарьин, старший аналитик «СберТройка», расскажет, как вырасти в востребованную специализацию — инженера данных — и расширить свои возможности.
Что обсудим:
🟠Личный путь Александра от рабочего на заводе до старшего аналитика за 2,5 года;
🟠Какие навыки освоить и добавить — разберём дорожную карту инженера данных;
🟠Как ускорить рост — почему самообразование часто тормозит, а системное обучение даёт быстрые результаты;
🟠Где брать кейсы для портфолио — как пет-проекты помогают компенсировать отсутствие коммерческого опыта в дата-инженерии;
🟠Актуальные зарплаты и тренды — разберём вакансии и перспективы рынка в прямом эфире.
Не упустите шанс получить чёткий план и мотивацию для уверенного старта в востребованной профессии!
🕗 Встречаемся 1 июля в 18:30 по МСК
😶Зарегистрироваться на бесплатный вебинар
3 347
Static vs Dynamic Partitioning
В Hive есть два вида партицирования: статическое и динамическое
Сначала я столкнулась с ошибкой:
Exception in thread "main" org.apache.spark.SparkException: Dynamic partition strict mode requires at least one static partition column. To turn this off set hive.exec.dynamic.partition.mode=nonstrictДавайте разберем на примерах У нас есть таблица, которая партицирована по двум полям:
CREATE TABLE sales_data (...)
PARTITIONED BY (date STRING, country STRING);
Теперь пойдем вставлять данные
🤩Статическое
INSERT INTO sales_data
PARTITION (date=’2024–03–23', country=’USA’) VALUES (...);
Здесь мы заранее говорим, в какую партицию будем вставлять кусок данных
🤩 Динамическое
INSERT INTO sales_data
PARTITION (date, country)
VALUES (..., ‘2024–03–23’, ‘USA’);
Здесь Hive сам определяет по данным, которые мы вставляем
Но чтобы такое сработало, нужны 2 конфига:
.config("hive.exec.dynamic.partition", "true")
.config("hive.exec.dynamic.partition.mode", "nonstrict")
По дефолту стоят false и strict. strict означает, что должна существовать хотя бы одна статическая партиция (о чем и была ошибка)3 347
1. Командообразование
Продолжаю рассказывать про курс команды. Как я проходила собес и первые впечатления - тут
Описание программы - тут
📝 В первом модуле обучение было в формате лекций с 2-3 перерывами на практику в группах
Нам рассказали:
🔴что такое команда
🔴какие еще формы совместной работы могут быть, кроме команды
🔴стадии формирования команды по Брюсу Такману (вы наверняка могли видеть картинку forming-storming-norming-performing-adjourning)
🔴про методику Big Five (что ожидать от членов своей команды и как мотивировать каждого)
🔴про целеполагание
Вопрос на подумать: с кросс-функциональной командой проще, т.к. у них есть общая цель. А вот есть ли она у функциональной команды (где только de, только разрабы и т.д.)?
Пара мифов (с точки зрения лектора):
1. В команде может быть оценен только групповой результат, но не индивидуальный
2. В команде все равны и все делится поровну
✏️На практиках мы в группах по 6 человек + фасилитатор делали задания:
🟣определяли по описанию команды, действительно ли ее можно на 100% назвать командой и почему нет
🟣определяли по описаниям людей, какие полюса в характере более выражены, а какие менее
🟣определяли по описанию команды/проекта, должна ли быть у них общая цель и нужно ли нам лепить команду, или и так норм
〰️〰️〰️〰️〰️〰️
Лектор изначально сказал, что он зануда и душнила, и это так и было)) Много теоретических определений, признаков и таблиц, как в книжках по обществознанию. Но лекторы должны меняться каждый модуль, надеюсь, в следующий раз будет более приближено к реальным ситуациям
3 347
Как найти работу за рубежом, если страшно и непонятно, с чего начать?
Международный рынок открывает двери к крутым проектам, зарплатам в долларах и евро, но искать работу за границей долго, нудно и слишком сложно!
А самое главное, вообще непонятно, что делать. Правила рынка совсем другие. Здесь мало резюмешки на хэдхантере и рекрутеры за тобой не бегают толпами. Зато нужно заводить LinkedIn, искать рефералы, выискивать вакансии среди десятков джоб-бордов...
Разобраться самому почти невозможно. Зато есть такие ребята как AgileFluent 👇
Они уже 4 года помогают IT и Digital специалистам выйти на международный рынок. На их счету — 350+ офферов в 22 странах в такие компании как Amazon, Cisco, UniCredit, Revolut, FLO, Ferrero, N26, ALDI, Semrush, Wheely…
Они ведут крутой канал про международку, где делятся:
✔️ историями тех, кто переехал и зарабатывает в валюте,
✔️ разборами резюме и LinkedIn профилей,
✔️ персональными подборками вакансий,
✔️ гайдами и чек-листами по CV, CL, LinkedIn...
Если давно мечтал о работе за рубежом — это твой знак! Начни с их канала :)
👉 Подписывайся
Реклама. ООО «Эджайл», ИНН 7810964334, erid: 2VtzqwELLjQ
3 347
Исследование дешников 2025
Тут ребятки из DevCrowd запускают новый опрос для дата-инженеров, аналитиков, дата-сайентистов, ML-инженеров и их руководителей
Опрос поможет:
🟢понять трендовые инструменты
🟢увидеть, как устроена работа у коллег в других продуктах
🟢узнать, как растут зарплаты и роли в индустрии
🟢получить данные, которые можно использовать для самодиагностики и карьерного планирования
Я еще не прошла, но исследования выглядят прям масштабно и с кучей циферок
🌷 Пример прошлогоднего исследования — devcrowd.ru/ds24
📕 Опрос займёт 15 минут, результаты появятся в открытом доступе в августе
➡️ Пройти опрос
3 347
Прошла вайб-чек от команды Яндекс Вертикалей, кажется, мне пора в отпуск. Какие у вас результаты?
🆖 перейти в бота
3 347
+1
➖ Preemption
🪄Представьте, у нас есть YARN, в нем очереди, а в очередях бегут наши приложения. Под каждую очередь выделяется определенное количество ресурсов (память, ядра)
Пусть у нас одна очередь считает витрины, вторая льет стриминговые данные, а в третьей де/да/дс запускают свои наработки. И ресурсы разделены в таком соотношении:
1️⃣ batch - 60%
2️⃣ realtime - 30%
3️⃣ adhoc - 10%
Послеобеденное время, витринки особо пока не занимают очередь, пусть 20% вместо 60%. Тут приходит аналитик и запускает огроменный расчет, который перелопачивает 100млрд данных. Он занимает всю свою очередь, а сверху берет в долг ресурсы у витринной очереди, которая пока более-менее свободна
🗓️ Наступает момент запуска критичных витрин - а ресурсов уже нет. Они говорят: "Мы витринки, у нас повышенный приоритет на собственные ресурсы". Т.к. adhoc очередь их временно забрала, то экзекьюторы убиваются и ресурсы начинают отдаваться своей родной очереди
У бедного аналитика приложение будет простаивать, а все, что не посчиталось, потом пойдет считаться заново (когда очередь освободится)
🌷А вот надо было писать оптимальный запрос и не посягать на чужое имущество
Дисклеймер: любые совпадения с реальными личностями случайны
3 347
+1
➖ Preemption
🪄Представьте, у нас есть YARN, в нем очереди, а в очередях бегут наши приложения. Под каждую очередь выделяется определенное количество ресурсов (память, ядра)
Пусть у нас одна очередь считает витрины, вторая льет стриминговые данные, а в третьей де/да/дс запускают свои наработки. И ресурсы разделены в таком соотношении:
1️⃣ batch - 60%
2️⃣ realtime - 30%
3️⃣ adhoc - 10%
Послеобеденное время, витринки особо пока не занимают очередь, пусть 20% вместо 60%. Тут приходит аналитик и запускает огроменный расчет, который перелопачивает 100млрд данных. Он занимает всю свою очередь, а сверху берет в долг ресурсы у витринной очереди, которая пока более-менее свободна
🗓️ Наступает момент запуска критичных витрин - а ресурсов уже нет. Они говорят: "Мы витринки, у нас повышенный приоритет на собственные ресурсы". Т.к. adhoc очередь их временно забрала, то экзекьюторы убиваются и ресурсы начинают отдаваться своей родной очереди
У бедного аналитика приложение будет простаивать, а все, что не посчиталось, потом пойдет считаться заново (когда очередь освободится)
🌷А вот надо было писать оптимальный запрос и не посягать на чужое имущество
Дисклеймер: любые совпадения с реальными личностями случайны
3 347
Высшее на новом уровне: онлайн-магистратура от Яндекса и НИЯУ МИФИ. Здесь фундаментальные знания и практика для карьерного роста, а ещё — учёба, которую можно совмещать с работой и жизнью.
IT‑специальность с экспертизой Яндекса + диплом магистра гособразца = новая ступень в карьере. Приёмная кампания уже идёт!
Все подробности — на дне открытых дверей:
— Разбор совместной программы с НИЯУ МИФИ.
— Всё о формате прикладной онлайн-магистратуры: что взяли от классического высшего, а что добавили из опыта специалистов Яндекса.
— Общение с экспертами из вуза и ответы на вопросы.
— Всё про поступление: сроки, экзамены, документы, оплата и образовательный кредит.
▷ Ждём вас 26 июня в 19:00 мск.
→ Зарегистрироваться на встречу
3 347
Поставила себе напоминалки со звуком о встречах за 15 минут до начала и за 3 минуты. Во время выходных их не отключают, и меня триггерит поработать. У кого-то так же?
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
