Я – Дата Инженер | Евгений Виндюков
4.34K subscribers
332 photos
32 videos
12 files
229 links
💻 Как войти в IT?
💵 Как стать Data Engineer
🗄 Что такое Big Data и кто ей управляет?
_____________________________
Автор @halltape
Все вопросы по рекламе @k_shredinger
Download Telegram
Ищу матёрого SRE (Infrastructure, DevOps) человека, чтобы он менторил меня в его штуках, а я его взамен менторил в вопросе управления собой и командой

Перешлите знакомым, плиз, если есть у вас такой
🔥53👍2😱1
Накинули дизайн для PET PROJECT

Недавно в нашем сообществе Роадмаперы, на которое вы можете спокойно подписаться, мы сделали прикольную тему:

1. Берем резюме с нерелевантным опытом
2. Правим его под DE
3. Собираем онлайн в Miro систем дизайн пет проекта

Т.е. конкретно адаптируем прошлый опыт под архитектуру DE. Ее можно потом будет спокойно собрать самостоятельно или на нашем BootCamp.

Причем можно посмотреть, что довольно много заморочек в самом пет проекте. Т.е. мы вчера дошли вплоть до того, что выбирали, какой движок будет использоваться в Clickhouse в будущем. Т.е. помимо просто разгона, мы еще думаем о том, как бы мы об этом рассказывали на собесе.

Это очень помогает понять, для чего используется тот или иной инструмент. И где стоит использовать pandas, spark, а где можно обойтись и просто python.

Крайне рекомендую подписаться. Будем делать такие штуки еще.
🔥224👍3🤔2
▶️ Кто такой Дата Инженер?

- Кто такой DE?
- Как выглядит работа DE?
- Что нужно знать для DE?
- Где учить?
- Какой стек?

Для всех тех, кто только вкатывается или думает вкатиться в IT.

➡️ СМОТРЕТЬ НА YOUTUBE

Также обновил видос в Roadmap!

максимально делимся с друзьями, родственниками и даже домашними питомцами!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍115
Не сокращение, а оптимизация!

Тоже читаю новостные каналы и мне пересылают разные новости про IT рынок. Да и в чате постоянно вижу (кстати без привязки к году и времени года). О том, что рынок ВСЕ — было и в 2023 году. Я буквально читал те же сообщения, что и сейчас. Люди скидывали скрины с огромным кол-вом откликов и писали, что ВСЕ! АЙТИ ЗАКРЫТО! БОЛЬШЕ УЖЕ НИКУДА НЕ ВОЗЬМУТ!

Это, как говорить, что Российской экономике осталось 3 месяца. Мы все сильно преувеличиваем и драмматизируем. Я, кстати, тоже люблю так пострадать.. Поэтому не парьтесь. Главное, чтобы среди ваших знакомых были более хладнокровные люди, которые покажут, что все ок. Адаптируемся...

К чему я. Например рынок IT, как и всегда, плохой. Или ИИ наконец-то заменит всех айтишников. ЧТО ДЕЛАТЬ!? НА ЗАВОД!?
Всем рекомендую следующие варианты:

- Иметь фин подушку на 6 месяцев (лучше год)
- Работать по ТК РФ (вас труднее уволить) и всегда можно запросить 2-3 оклада
- Держаться в тонусе и иногда собеситься

Насчет замены ИИ. Это все еще просто экологичные отмазки, чтобы не говорить, что у компании идут не самые лучшие времена и надо сокращать штат. ЧатГПТ, агенты конечно крутая тема, но все еще тупорылая и не может смотреть в архитектурный контекст. Я бы очень хотел отдать тупую работу именно под ИИ, но его надо либо писать свой под компанию (безопасность же), либо научиться внедрять и возможно дообучать. Короче, ИИ шикарно экономит время на написание кода, но не выполняет задачу от А до Я.

Даже если ИИ заменит прогеров в июне 2026 года, то почему бы сейчас не выучиться на IT, вкатиться и до этого момента не заработать деньги? В чем проблема. Можете, конечно, сразу на завод устроиться, махнуть рукой: "Ааа, эт все мне не надо, все равно скоро заменят!" и получать свои копейки. Потом окажется, что новость была очередным бредом сумашедшего и ваши друзья так и продолжат собирать кэш, а вы будете сидеть без денег. Крутой план. Куй железо, пока горячо. Мы с вами действуем по обстоятельствам. Решаем проблемы по мере их поступления. Кому, как не нам знать о быстро меняющейся истории.

Резюме пишем строго под спрос рынка. Если сейчас требуется python, sql, S3, Spark, GP, CH — значит мы разбираемся в этих технологиях и пишем их в резюме. Говорить, где читать или учить я не буду.. И так в каждом посте об этом роадмапе. Возраст убираем, Город ставим Москва. А по опыту ставим ту цифру, на которую мы готовы взять ответственность по задачам. Либо вы адаптируетесь под рынок и условия. Например вы же адаптируетесь под высокую ставку ЦБ. Под цены, под утильсбор. А сейчас еще и НДС для ИП порог спустили. Готовьтесь. Скоро все цены полетят опять наверх. И ваша зарплата полетит также наверх? Или может её кто-то вам компенсирует? Кажется, что НИ ХУ ..

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

Если чувствуете, что скоро увольнение, значит выходим на рынок. Если загоняют в офис под любыми предлогами, выходим на рынок.
У всего, что есть начало, есть и конец, Нео.
39👍16🔥12😁4
⚫️ Surfalytics VS Roadmappers

Не знаю, куда смотрит Дима, но я смотрю в прошлое — в то время, когда учился на DataLearn.

Моя фотка — это оммаж на фото Димы. И вот почему. Ещё задолго до канала и Школы 21, когда я зимой катался на коньках у дома, я включал разные подкасты, видео и интервью с Димой — и слушал про Дату. Конечно, тогда я почти ничего не понимал, всё казалось каким-то ну очень заоблачным и недостижимым. Ведь я не учился на программиста — я вообще музыку писал и видосы снимал. Какое, к чёрту, «ОЙТИ»? 😄 Короче, вдохновил он меня на Data Engineering!

Знаете это чувство, когда слушаешь, чего уже добился человек, а у тебя даже ещё ничего не начато? Такое ощущение, что ты капец как далеко. Это как если ты только сейчас задумываешься о получении паспорта в другую страну, а рядом человек уже год живёт с ним. Или как с изучением иностранного языка — кажется, что никогда не догонишь и всё уже упущено. Или мысли о возрасте: вот кто-то чего-то добился в 25, а тебе 30 — и ты думаешь, что жизнь окончена. 😅 Уверен, многие через это проходили. Я — точно в их числе.

Но я продолжал смотреть всё про DE и IT: отключил соцсети, перестал отвлекаться на развлекаловку и начал учиться. Помимо DataLearn, я ещё учил язык Си, потом поступил в Школу 21… Даже на JavaRush заходил и решал задачки на Джаве.
Больше всего страдал, конечно, с Си. 😅 Больше туда — ни ногой.

Постепенно я пришёл к DataLearn. Прорешал там где-то четыре модуля включительно. На пятый просто смотрел видео, а дальше уже начал пилить свой пет-проект — основу того, что позже стало нашим BootCamp. Потом был мой Telegram-бот для генерации паролей, а дальше — канал и всё остальное закрутилось.

Так вот к чему я всё это.
Идея нашего roadmap вообще появилась именно после курса на DataLearn от Димы Аношина. Потому что именно там я впервые увидел, как можно круто оформить материал на GitHub так, чтобы его было удобно читать. Хотя самая первая версия роадмапа была просто постом в Телеграме со ссылками на бесплатные материалы, уже вторая была оформлена на GitHub.

Сейчас, кстати, мы начинаем делать роадмапы и для других направлений IT. Уже выбрали шаблоны фронтенда для лендинга и самих роадмапов, чтобы можно было переключать темы, удобно смотреть с мобилы и пользоваться всем современным функционалом.

Поэтому, спасибо, что подписаны и поддерживаете нас. Ну и спасибо Диме за то, что повлиял! Возможно, кстати, теперь мы влияем и на вас. Пишу мы, потому что тот же Roadmap — это уже коллаборация нескольких авторов.

МЫ СЕМЬЯ
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
49👍25🔥15😁3
🇷🇺Товарищи! Новое видео! УРА!🇷🇺

Скучать в текстовом редакторе🧑‍💻 — удел слабаков. Настоящий штурвал инженера данных — это DBeaver🦫.

Он не просто «пишет SQL». Он ведёт вас сквозь океан таблиц и баз, как ледокол «Сибирь» сквозь арктические льды.
🇷🇺 Хочешь быстро найти колонку? — найдёшь.
🇷🇺 Хочешь подключить пол-Интернета баз? — подключишь.
🇷🇺 Хочешь быстро перести таблицу из одной БД в другую? — пожалуйста.

🇷🇺 Фишки, нюансы, излишества. Всё для того, чтобы ты чувствовал себя не клерком за машинкой, а капитаном данных.

😘Видео прилагается😘

Смотрим, восхищаемся, работаем!

P.S. Смотреть на скорости 1.5 х- 2х. Буду рад вашему лайку и комментарию для продвижения канала🫡
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥28👍117🤔1🤯1
Как я накосячил в ДАТАБЕЙЗ!

Короче дело простое. Приехал на работу в офис.. А это была то ли пятница, то ли еще чего, но на поработать не тянуло. Да еще и в офисе никто не о чем не разговаривал. Все будто уткнулись в свои экраны и кодили. Стояла тишина. Прям тихо. Я слышал, как дует ветер в Китае. Настолько тихо. Ладно, я прикалываюсь.

Вообщем, на тот момент у меня была задача запускать процессы на Spark. Я же все таки Дата Инженер. А запускаются они, используя базу PostgreSQL в качестве метаданных. Там у нас написаны были названия табличек, путь в s3, девичья фамилия бабушки тим лида и так далее. И поскольку я высококвалифицрованный специалист, то мне нужно было сразу на проде поправить парочку строчек. Там просто перенести из одной строчки значение в другую строчку. Как вы понимаете, делал я это не через UPDATE запрос, а прям в таблице. Че там делов то.. Еще запрос буду писать. Тут три секунды.

Да, в 99% я так уже делал и все прокатывало, но в тот день все было иначе. Толи пол кривой, толи температура воздуха выше нормы, короче я начал засыпать от этой рутинной задачи. А это еще было после обеда, а еще все молчат. Я начинаю плавно засыпать за компом. А руки все делают: cmd+C cmd+V (да я работаю на модном макбуке pro 100Тб золотой deluxe edition). И в итоге путаю вместо cmd+C я нажимаю cmd+A и потом cmd+V, и у меня вставляется одно значение вообще во все ячейки таблицы. Очень круто! Дата Дривен подход!

И че делать? Естественно, я сразу побежал к маме просить помощи. Потом пришел батя, а за ним старший брат, у которого черный пояс по карате и дал этому PostgreSQL по **. Но на самом деле нет.

Мне пришлось пойти к тим лиду и попросить позвонить моей маме, нет. Короче мы зашли на сервер и скачали часовой бекап. Ну, просто снимок данных за час назад. И просто заменили испорченный кусок данных.

В целом, я понял, что ходить в офис — это к беде. Что после обеда надо спать, а там уже и рабочий день закончится.

Ну ладно, вы держитесь здесь, вам всего доброго, хорошего настроения и здоровья!

А еще я напоминаю, что мы уже начали разворачивать InfraSharing для тех, кому хочется просто потыкать инструменты или погонять свои Пет проекты. Например вы Аналитик, ДЕ или просто все и так во всем разобрались сами, но неохота настраивать Пет проект.. поэтому все подробности тут и запись тоже!!

https://t.iss.one/halltape_data/700
😁23🔥1914🤔5👏2
Комменты под видосам про Спарк!

сам видос по спарку - https://www.youtube.com/watch?v=Gj0oSVmv7k4&t=2274s

Очень приятно читать такой фидбек. А ведь я решил сделать этот видос только по той причине, что сам не смог найти ничего похожего на ютубе...

Но перед этим я ходил в чат с желтым слоном (кто знает, тот в курсе) и на вопрос, где можно было бы поучить спарк, мне просто скинули ссылку на официальную документацию. Великолепно. К сожалению, я искал более лайтовое объяснения..

В целом какие-то разногласия с тру программистами у меня были всегда еще со школы21. Это к вопросу ЧТО НАДО ЗНАТЬ ИЛИ ЭТО ОБЯЗАТЕЛЬНО УЧИ. Например, после успешного прохождения интенсива в школе21 я переключился на SQL и начал смотреть в сторону ДЕ. Уже тогда начал попадаться Дима Аношин. Так вот. Когда все школьники21 фигачили и готовились стать Джава разрабами.. в тот период как-будто только о ней все говорили, я решил пойти на перекор всем и выбрал вообще диаметрально другое направление. Вообще все эти Роадмапы, каналы, буткемпы — это мой бунт против. Канал я начал вести, как только получил оффер. И какое-то время никому не показывал, потому что был уверен: "Смотрите, только устроился, а уже канал ведет". А сейчас я понимаю, что это было правильное решение.

Я ЕГЭ сдал на 167 баллов. О каком программировании может идти речь. НАДО ЗНАТЬ БАЗУ. И вот это вот все. Меня это дико бесило. Поэтому я в одиночку начал херачить свое направление и не смотреть ни на кого вообще.

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

Поэтому кем хочу, тем и стану. И вы также можете. Жизнь слишком короткая, чтобы сомневаться и не делать...
52🔥28👍12
Друзья, сейчас будет опрос.

Че ставим?
🔥11😱4🤔1
Спасибо всем за голосование!

Я в восторге. Переобулся на зиму.
🔥54👏85😱4🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
💭 Испугались?

Ладно, вот чат, где нет тим лидов. Но это не точно.

А вообще есть правило, когда надо выкладывать все карты или никому низа что не говорите fake till you make it?

Зайти в чат
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥5👏3
Media is too big
VIEW IN TELEGRAM
🇷🇺ТОВАРИЩИ🇷🇺

Хотите узнать, до чего доводит людей рабочая суббота?

🇷🇺 Ответ в видео.


А если тоже хочешь преисполниться в своём познании, то подписывайся на 🇷🇺 родмаперов.

А для остальных есть чатик.
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥6👍2👏1
Не смотрел доклад, не разработчик!

Есть много конференций для разработчиков. Там по каждой конфе можно офигеть от кол-ва информации. И вот мы ходим, слушаем с умным видом, но как часто применяем эти решения?

Привожу пример. Смотрел доклад со смарт даты про Спарк. Там команда джимми нейтронов сделала ML модель, которая учится подбирать оптимальные параметры под Spark приложения. По-простому работает так:

1. Спарк запускается с каким-то средними значениями ресурсов.
2. Если джоба не падает, то уменьшаем еще раз, пока джоба не начнет падать. Это значит, что мы нашли идеальные настройки спарка для этих вычислений.


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

Вот супер крутое решение. Только кол-во людей, кто реально это применит на практике — стремиться к нулю. Тогда зачем слушать этот доклад? (ЦКАТИНА, ТЫ ЧТО ХОЧЕШЬ ПОСПОРИТЬ? А?)

В большинстве команд, на мой взгляд, решение будет состоять из простого увеличения timeout или sla. Типа пусть работает дольше, главное, чтобы работало. И не надо писать никакие сложные модели, обучать их и так далее. У нас че, времени полно на это? А? Але, камон эврибади

А если вы работаете в компании, где очень долго можно получать доступы бигтехе, где нельзя в принципе внедрить сразу какую-то библиотеку, фреймворк или решение, то смысл теряется вовсе. Потому что надо сначала отправить заявку на создание заявки о наличии у вас некой мысли в голове, которая по метрикам должна увеличить.. господи, да остановись уже!

Кстати, если вы реально не знали, но в таких компаниях, ЛИЧНО Я получал доступы 2 месяца. И все это время, пока нет доступов, ты просто крутишь казик на стримах и лутаешь по 100к usd живешь жизнь в ожидании.


Вернемся к конференциям.
Для большинства — они никогда в жизни и не применят таких кейсов. БОльшая часть людей работает просто на работе без амбиций и у них нет задачи покорять этот мир крутыми решениями. Дайте им задачу и вовремя платите зарплату. Остальное не важно. В целом понимаю такой подход. Желательно еще и вообще не работать, а получать бабки на счет.

Лично я в свое время сильно упарывался по конфам. Знаю, что в питоне пустой словарь весит НЕ НОЛЬ! Для чего мне это знать? Не для чего. Можно среди друзей хвастаться, причем сразу после слов про двадцатые диски на бмв.

Единственный момент, когда я смотрю доклады с конференций — это когда ищу решение проблемы. Вот это реально круто. Т.е. мы решаем проблемы по мере их поступления. Просто так идти и искать контент на досуг, я больше не делаю...
👍2312🔥9😁3
Media is too big
VIEW IN TELEGRAM
😆 Запись СТРИМА по Clickhouse!

Что за стрим? Почему и для кого
https://t.iss.one/halltape_data/718

Стрим был 12 ноября в 20:00

Предзапись на курс по Clickhouse

Кстати
Заходи в наш чат, чтобы обсудить
Please open Telegram to view this post
VIEW IN TELEGRAM
17👍9🔥8
Крутим казик API Wordstat!

Расскажу про реальную задачу на работе. Сразу скажу, что это не хай лоад перфоманс дата сайенс задача. Поэтому, если ты заряженный спец или спецуха, то наши с тобой пути расходятся. Дело не в тебе, дело во мне. Я больше не люблю тебя.. Твоя мама была права.

Как дают задачу?
Возьми этот CSV файлик, там фразы и слова, которые люди ищут в поиске Яндекса. Надо пройтись по всем запросам и собрать инфу из Яндекс Вордстата, сколько раз люди ищут это и конечный результат-отчет загрузить в Clickhouse. Например "Как заработать на беху купешку" вчера искали 3 раза, а "Я хочу ничего не делать и кататься на бехе" искали 4530 раз.

И с чего начать?!
Конечно же с чата гпт. Ведь ИИ уже заменил программистов и теперь я вообще ничего не делаю и просто пью коктейль на берегу океана. Было бы круто, но не совсем так. Код надо писать почти с нуля, причем сразу в общем виде, чтобы его можно было переиспользовать на следующих задачах. Поэтому сразу прикидываю архитектурно, как это может выглядеть:

1. API - выгружаю при помощи python и сохраняю в S3, как есть без трансформации
2. Забираю из S3 и кладу в Clickhouse с помощью Spark (тут уже сделаю преобразования)
3. Пишу DAG в Airflow с двумя тасками (и хочу сделать ручной запуск со своим конфигом)

В целом изи. Че тут писать. Но есть некоторые нюансы. В ТЗ мне указали, что нужны недельные данные. Это значит, что при обращении к АПИ без уважения мне надо тянуть диапазон дат (НЕДЕЛЮ). Ну вы скажите, ок, запускай каждый понедельник и тяни данные за прошлую неделю. И ТУТ ТОЖЕ НЕ ПОЛУЧИТСЯ.

Яндекс Вордстат отдает данные минимум за ТРИ недели. Поэтому либо каждый третий понедельник запускать, либо думать по-другому. Я выбрал второе (Хотя думать я не привык) Буду запускать каждый понедельник, чтобы не сидеть без данных несколько недель. А скаченные данные сохранять в папки с названием api_wordstat_2025-10-20_2025-11-09. Ну т.е. у меня будут сохраняться папки с диапазоном в три недели. И пусть данные в S3 перескаются — это все потом фиксанет Clickhouse (причем без меня сам).

Ок, вроде первый пункт готов. Но НЕТ! А откуда мне и как забирать сами фразы-то для API? Поэтому я загрузил CSV с фразами в Clickhouse и написал класс на python с подключением через clickhouse_connect к CH. Почему класс? А чтобы потом его можно переиспользовать для других задач. Там методы на чтение, запись и кастомного запроса. Помните, что у меня изначально не было проекта. Писал все с нуля.

Итак. Я подключился к CH, забрал фразы, отправил их в API, получил ответ, сложил в S3. А что насчет фраз, которые содержат всякие невалидные символы, типа —> % ~§ и так далее? Тут я сделал логику, что в случае нахождения плохих запросов, записывать их в отдельную таблицу Clickhouse вместе с текстом ошибки (Помните мой ранее написанный класс на питоне? Вот вот). Тем самым я не роняю расчет, а просто логирую это недоразумение и иду дальше. Это кстати работает, если даже у меня соединения внезапно пропало. Все логируется и можно отследить.

А ну еще. Есть у меня логика всяких там retry. Типа если один раз не получилось именно подключиться, то сделай паузу, потом еще одну, но чуть подольше и только потом иди дальше.
ОКЭЙ. Дальше пишем класс для загрузки из S3 в CH. Там у меня три метода. Вы спросите: "ТАК НЕЛЬЗЯ ЦКАТИНА". Короче, я заметил, что если просто спарком читать данные из клика, то он все записывает на один executor, поэтому написал отдельный метод, который читает хитрым способом несколькими частями и размазывает по всему спарку. Не буду вдаваться в подробностями. Мб в роадмап загружу пример.

Че по ДАГу жи есть?
Сделал три таски
compute_dates определяет диапазон (по умолчанию — последние 3 недели),
api_to_s3 грузит данные из api в s3 через python
s3_to_ch загружает готовые parquet-файлы в ClickHouse.
• Между тасками у меня XCom, где я передаю даты из первой таски, чтобы брать конкретные названия папок для Spark

Че по дублям. У меня же там накладываются недели друг на друга, когда берешь данные. А мне пофигу, я настроил ReplacingMergeTree в кликхаусе. Он и дедублицирует. Хотите еще?
🔥48👍1110👏3