Я – Дата Инженер | Евгений Виндюков
4.48K subscribers
337 photos
33 videos
12 files
232 links
💵 Как стать Data Engineer
🗄 Смотри Roadmap в закрепе!
_____________________________
Автор @halltape
Все вопросы по рекламе @k_shredinger
Download Telegram
🧐 А стрим все набирает просмотры!

https://youtu.be/75Vu8NqH_cU?si=kukmJX1yJL8rIolb

Стрим про DE
все еще набирает своих зрителей и это конечно радует!

😘 Если кто не смотрел или пришел не с этого видоса, то рекомендую посмотреть. Я постарался там изложить все в доступном виде, кто такой Дата Инженер и чем он занимается.

➡️ Если есть пожелания по стриму или вопросы по работе, пишите их в комментариях!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍43
#️⃣#️⃣#️⃣

СБЕР Вакансия
Junior Data Engineer
https://hh.ru/vacancy/96653693?customDomain=1

Hadoop, GreenPlum, SQL

Пробуйте сюда залетать. Требований четких нет. Скорее всего будете много писать именно на SQL. Майло пайтона и никакого spark. По Hadoop крайне рекомендую смотреть мой deep dive по HDFS!

По GreenPlum не подскажу. Но важнее уметь решать задачи на SQL. Остальное можете прочитать, как теорию!
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥8💯2
🏃‍♂️ Миллиард петабайт меньше чем за секунду!

Как прочитать данные быстрее скорости света, даже если они весят миллиард петабайт или больше?

😄 Я конечно опять кликбейтен, но доля правды здесь есть. Вот с чем я столкнулся:

У меня есть таблица за целый год и один день весит 1Гб. Когда я хочу узнать, какая там крайняя дата, то делаю аггрегацию поля с датой типа MAX(date).

И тогда мой spark или sql начинает делать FULL SCAN таблицы и высчитывать максимальную дату, бегая по всему диску и считывая данные. Надо ли говорить, что я никогда этого не дождусь. А как быть то?

✉️ Для этого таблицу стоит партиционировать по полю с датой. Это значит, что данные по каждому дню собираются в одном месте на диске (на самом деле даже папка создается под каждый день). Т.е. если вы загрузили 7 дней данных, при этом при сохранении использовали метод partitionBy('date'), то данные аккуратно складывались в соответствующие папки.

Да, при таком хранении вы заметно быстрее начнете считывать данные, но и это не предел. Я же говорил о скорости света!

Когда Spark партиционирует данные из таблицы, то он буквально создает папки, которые называются также, как и поле. Т.е. если партиционировали по датам, то папки будут называться

'2024-04-01'
'2024-04-02'
'2024-04-03'


И поэтому в spark мы можем спросить напрямую: "Покажи мне все названия папок".
SHOW PARTITIONS

Тогда он выведет табличку с названиями папок. Это ведь просто метаданные весом с пушынку. Ну и дальше вы добавляете MAX(date) и получаете моментальную крайнюю дату.

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

🚀 Аналогично можно обновлять и вашу витринку (тоже партиционированную), сравнивая даты в источнике и в вашей витрине. Скорость будет просто космическая. Ресурсы не будут тратиться от слова совсем!

Кто не понял прикола с Кай Метовым, то вот оригинал
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥243👌1💯1
💵 Зарплата меньше 400к?

Интересное обсуждение увидел в комментах к посту про оффер в 400к для девушки.

В комментах спросили: «А где искать парня, если у тебя 400к?»

И собственно главная фраза, которая триггерит мужчин: «Деньги девушки это ее деньги, а его деньги это семейные»

Не помню, чтобы я видел гармоничные пары, где мужчина зарабатывал бы меньше. Но и я вам тут не гуру…

Собственно, у кого какие мысли на этот счет?

P.S. Пост из сообщества осознанная меркантильность. Кстати знаю, что некоторых людей триггерит это сообщество. Но это борьба с ветряными мельницами.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝8😁3
🤨 Ты не программист, если не знаешь, что такое ДжиАйТи!

Вообще это тоже самое что БиЭмДаблЮ (BMW). Или Мэйбах, а не Майбах. Или БиЭмЭкс (BMX), а не БэЭмИкс.

🔍 Причем, когда я услышал это GIT, я вообще не понял о чем он.. Хотя почти каждый день пишу git commit в терминале. На русскоязычную аудиторию уж точно привычно говорить ГИТ.

🔍 Но полез в ваши интернеты. Может я невежда и мир говорит ДжиАйТи Хаб или ДжиАйТи коммит. Но кажется нет:)

Хотя на скриншоте есть версия про Global Information Tracker.

😐 Программисты это конечно те еще душнилы, но я прям не понял о чем сказал Даня.. будто новая или другая технология. И пересмотрел кусок. Ведь я тоже могу ошибаться:)

🇺🇸 Википедия вообще говорит, что это Торвальдс придумал от английского слова . Ох уж эти американцы! И тут преуспели…Кэук

Короче, кто знает распишите откуда это слово?:)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7🤣52👍2
#️⃣#️⃣#️⃣ Ты войдешь в IT! (Но не гарантирую)

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

Кто подписан на мой канал давно, тот знает, что у меня есть посты про составление резюме, пет проекты, собеседования и прочее!

💭 И чтобы работа нашла вас, вам нужно будет скинуть мне его в ЛС @halltape. Я буду смотреть каждое резюме и давать комментарии, если посчитаю, что оно требует доработки. Плюс мне нужно познакомиться с вами и понять, что вы хотите.

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

📣 Конверсия очень маленькая, поэтому расцениваете это как всего лишь возможность попробовать.

Направление IT любое!

Заодно прочекаем рынок и отклики. Да и на резюме посмотрим. Поищем инсайты!

🚀 Поехали! 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥33👍7🍾2💯1
🧐 Конкретный рабочий кейс!

Расскажу реальный случай с работы. Начну с предыстории.

✈️ Вы, как DE читаете много таблиц из разных источников. Дальше, полируете, трансформируете, вычищаете и складываете в виде одной или несколько подготовленных таблиц в БД. И это делаете каждый день (автоматически или вручную). Данные из всех источников вы читаете за одну и туже дату. Чтобы данные из разных источников смогли склеиться.

🌀 Представим, что наш код каждый день запускается по расписанию, отсчитывает от текущей даты 1 день назад и начинает грузить данные за вчера. Ну отлично. Данные успеют и в источник до грузиться, да и realtime аналитика не всегда нужна.

Что может случиться?

Вы загрузили 15 апреля, а потом ваш код упал с ошибкой, или сервер лег. Прошла неделя. На дворе 22 апреля. Сервер починили, вы запустили код, он прочитал 21 апреля. А пропущенная неделя благополучно потерялась. Че делать?

Ну давайте тогда читать максимальную дату в источнике и максимальную дату в нашей витрине и грузить разницу. Тогда 22 апреля мы подгрузим недостающий кусок. Да, будет дольше по времени, но витрина догонит в итоге источник. Круто!

Что теперь может случиться?

Вчера догнали источник по датам, сегодня грузим 22 апреля, завтра будете грузить 23 апреля и так далее. А что если за 22 апреля данные в источник не долетели и вы считали 0 строк. При этом дальше данные долетают нормально.

И вот представьте, что ваш код автоматически грузил данные и ему было все равно на кол-во строк. Ну загрузилось 0 строк и пофигу. Потом еще пару раз так происходит и вот у вас уже дыры в данных.

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

🧭 Собственно, какие еще краевые случаи могут быть в загрузке данных? Пишите в комменты, если возникли вопросы или есть что добавить..
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3😭31💯1
Где и как эффективно искать работу в 2024?

Наверное самым популярным каналом по поиску работы за рубежом за последние пару лет стал LinkedIn. Почему так?

1️⃣Во-первых, потому что сама платформа предназначена для того, чтобы обрастать профессиональными знакомствами.
2️⃣А во-вторых, если тебе актуальна работа в Европе, MENA или США, проще всего найти ее именно через LinkedIn. Кстати, наши рекрутеры за последний год тоже стали активно пользоваться LD.
3️⃣И в третьих, LinkedIn можно использовать для прокачки личного бренда и продажи услуг типа консалтинга или менторинга.

Но несмотря на множество преимуществ не все пользуются этим инструментом из-за сложных настроек и алгоритмов работы с сетью. Логика работы сайта скажем прямо не очевидна. Есть множество нюансов, которые важны для эффективности результатов вашего пребывания в LinkedIn.
Эти нюансы знает Александр Лепешкин и в своем канале LinkedIn & Career | Alex Lepeshkin он делится ими.
Если для вас актуальна тема, welcome к Саше.
🔥7👏2👌2🆒2
5️⃣5️⃣ Залетел в IT в 50+!

Вот такой коммент появился к видосу на моем канале! Наваливаю вам мотивации, чтобы не бросали и шли к своей цели.

🗣 Если с опытом накрутка и его рисование еще может сработать, то с возрастом сложнее

И если бы в разработчики брали только от 20 до 30, то куда будут деваться люди после 30?) Уходят в Нарнию по всей видимости))

💻 Кстати у меня один из первых собесов был в команду, где все были за 45. И я даже чувствовал себя, что слишком молод и ребенок. Ну по ощущениям так получалось))
Please open Telegram to view this post
VIEW IN TELEGRAM
🍾29🔥125👏1🆒1
ЕСТЬ РАБОТА!
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥2💯1
Forwarded from Госпожа аналитик 💚 Ия Зотова (Ия Зотова️)
🏦 Ищем аналитика данных в департамент маркетинга b2b сегмента. Наша команда отвечает за построение сквозной аналитики, настройку событий на сайте Сбербанка, оценку рекламных кампаний и построение аналитической отчетности

📍Локация: Москва, Кутузовский 32
В основном только офлайн

💳 Вилка ~100-250к, но не ограничено этим

☑️ Вам предстоит:
- Осуществлять маркетинговую/сквозную аналитику
- Развивать внутренние сервисы и библиотеки
- Создавать аналитические дашборды и витрины данных
- Делать исследования и составлять презентации для стейкхолдеров
- Общаться со стейкхолдерами

☑️ Что мы ожидаем:
- Опыт в аналитике от 6 месяцев
- Уверенный Python (Pandas, библиотеки визуализаций)
- SQL на продвинутом уровне (CTE, оптимизированные запросы)
- Хорошие коммуникативные навыки
- Хороший навык визуализации результатов исследований
- Желание взять на себя agile-церемонии команды (ретро, демо, дейли)

☑️Будет плюсом:
- Знания в маркетинговой и веб-аналитике
- Понимание современных web-технологий, HTML, JavaScript
- Наличие в портфолио дашбордов/презентаций

👨‍💻Стек технологий/инструментов:
Hadoop, Spark, Clickhouse, SuperSet, Airflow, GTM (внутренний аналог), Яндекс Метрика

Условия:
- Классная и дружная команда
- Непростые задачи и быстрый рост
- Корпоративное обучение
- ДМС и современный офис
- Трудоустройство согласно ТК РФ

✈️Резюме отправляйте мне @IyaZotova
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍1😱1💯1🤝1
🤨 Покажите свой проект!

Вообще пет проект не сильно обязательная вещь для IT, но 1 из 10 человек на него все равно посмотрит. Да и это хорошая вещь, если надоело решать задачи на курсах или leetcode.

Пет проект вам может пригодится даже в самом банальном скилле – работа с git. Ведь код, который вы написали, очевидно можно загрузить на свой github. И здесь понадобится разобраться в нескольких вещах – настроить ssh ключи, склонировать репозиторий, разобраться, как работают ветки, commit'ы и так далее.

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

Вот подборка проектов с git:
1. Автономный тренажёр для изучения Airflow (Крайне рекомендую еще и его канал - ПОДПИШИСЬ!)
2. Telgram bot для генерации и проверки паролей
3. ETL pipeline для Дата Инженера

А вот дополнительные ресурсы, которые 100% вам пригодятся при работе с GitHub проектами!
⚫️ Изучить Git в игровой форме
⚫️ Интерактивный курс по Docker

Делитесь в комментах своими проектами и github! Интересно посмотреть!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥33👍51💯1
Нас 🔤🔤🔤🔤!

Спасибо всем, кто подписан, ставит лайки, комментит!

🖥 Скоро год, как я веду этот канал. Могу сказать, что канал растет вместе с моими скилами. Я оч сильно бустанулся с того времени и порой забываю, как я не особо шарил за spark, pandas, хадуп, airflow и прочее. Но на реальных проектах ты не замечаешь этого, потому что требования растут с каждым спринтом, а кол-во новой информации наваливается просто, как цунами.

И те знания, за которые ты гордился в начале пути, сейчас выглядят просто примитивными навыками. В особенности, когда сравниваешь себя с опытными коллегами. Это кстати обратная сторона медали, потому что невозможно прыгнуть выше головы. У всего есть свой ресурс и предел. Невозможно бесконечно наращивать эффективность.

Пара инсайтов:

1. Работайте над софт скилами. Конфликты, сплетни, ссоры неизбежны. Никакое крутое знание фреймворка не спасет ситуацию. Это тупик.

2. Первые полгода-год на работе вы будете нон стоп учиться. Просто готовьтесь.

3. Покупать курсы не надо. Если только не мои. Мои можно. А вообще вы сами способны выучиться. Готовьте железную задницу

4. В IT не поздно. И после 30 и после 40 и после 50. Но с каждым десятком лет предвзятость будет расти.

5. Девушки в IT это супер. И я не заметил предрассудков насчет мужское направление или женское. Поэтому смело залетайте в команды!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥54🍾12💯4👎2👏2
Ищем Anti Data Engineer!

📍 УДАЛЕННО (как можно дальше от главного офиса)

💵 ЗП: 3–5к рублей, до вычета налогов и штрафов (штраф за чтение описания вакансии: 1500 рублей)

Мы компания, которая в целом ничем не занимается и в дальнейшем мы тоже ничего не планируем делать. Разработка платежных систем на международном рынке – это что-то очень интересное, но не про нас. В прошлом году мы не заняли никакого места в рейтинге прорывных компаний, потому что нам нечего было показывать. У нас в целом нет общего видения развития индустрии, нам вообще это неинтересно от слова совсем.

➡️ На данный момент ищем очень слабого data engineer на новый DWH проект.

➡️ Требования:
⚫️ Неумение работать с большими объемами данных. Если вы путаетесь в террабайтах данных, вы идеальный кандидат!
⚫️ Отсутствие опыта работы с инструментами для обработки и анализа данных. Никогда не слышали о Hadoop, Spark, Hive, Pig, или других подобных инструментах? Отлично, приглашаем на собеседование!
⚫️ Обязательное незнание SQL. Если вы думаете, что SQL - это что-то связанное с экстрасенсорным восприятием, вы тот, кто нам нужен
⚫️ Неумение визуализировать данные. Отсутствие желания работы с любыми BI системами.
⚫️ Если pandas для вас – это то, по чему поднимаются коляски в подъезд, значит вы на на правильном пути
⚫️ Знание python на уровне, что есть такое животное. Не выше!
⚫️ Уметь удалять нужный код коллег из BitBucket
⚫️ Продвинутые навыки в DROP TABLE (желательно on CLUSTER)
⚫️ Отсутствие любых знаний в области computer science
⚫️ Умение растягивать примитивные SQL запросы на 800 строк и больше (без знания SQL)

🖥 Обязанности:
⚫️Своевременно и безвозвратно удалять данные из БД
⚫️Писать неэффективный код от 2000 строк в день (у нас строгий подсчет, мы ведем журналы!)

🔥Наши плюшки:
⚫️ Мы не пересматриваем ЗП (нечего пересматривать)
⚫️Технику не выдаем (только штрафы)
⚫️ДМС нет, но ноги вам с радостью сломаем
⚫️Компенсация фитнеса (из вашей зарплаты)
Please open Telegram to view this post
VIEW IN TELEGRAM
😁46🔥9🤣8💩21
🥲 Оффер за самое элегантное решение!

Две строки. Нужно из них получить python словарь. Побеждает самое короткое простое, но ПОНЯТНОЕ решение.

Столкнулся на работе. Эти строки – это значения в двух столбцах огромной таблицы. Поэтому при желании можете также оценить O(n).

P.S. Здесь требуется решение на питоне, но у меня конечно на самом деле был spark и там есть некоторые нюансы. Я комментах его опишу, потому что оно ДУШНОЕ и если вы новичек, то не забивайте себе голову и смело скипайте.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2👎1🔥1💯1