Я – Дата Инженер | Евгений Виндюков
4.37K subscribers
335 photos
32 videos
12 files
231 links
💵 Как стать Data Engineer
🗄 Смотри Roadmap в закрепе!
_____________________________
Автор @halltape
Все вопросы по рекламе @k_shredinger
Download Telegram
🧐 Проблема мелких файлов для бабушек! Ч2.

В прошлом посте я писал про мелкие файлы, которые получаются, если сохранить данные с помощью спарка в том виде, каком есть. Т.е. сохраняем в формате csv и он нам сохраняет не один файл, а много. Для сохранения в один нужно делать либо coalsece, либо repartition или toPandas (гуглите что это!)

Итак. Чем же плохи мелкие файлы. В HDFS все данные хранятся в виде блоков. Ну можно считать, что в виде файлов. Стандартно это 128Мб. Если правда файл загрузим меньшего размера, то файл остается того размера, который он и есть. Но не суть. Факт, что загрузили 500мб csv, он разбился на 4 блока. Каждый такой блочок еще и реплицируется (коппируется) по разным серверам.

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

Теперь понимаете, что кол-во файлов с репликами у нас выросло довольно быстро. Вместо того, чтобы хранить один единственный файл, мы храним 4 x 3 = 12 файлов (учитываем фактор реппликации).

В HDFS есть такая система, которая записывает адреса, где лежат все блоки. Нам нужно прочитать файл, а он разбит на блоки. Поэтому кто-то должен понимать, в какой последовательности собирать блоки, чтобы получить нужный файл. Эта штука называется NameNode. Она не хранит сами блоки, а хранит только метаданные. Грубо говоря адреса. Кстати, если эту NameNode уничтожить, то восстановить данные уже не получится, хотя физически на дисках они останутся. Поэтому есть Secondary NameNode, которая собирает слепок каждые несколько минут и является неким подстрахующим звеном.

Короче. Вот у вас 12 блоков, вместо одного. Естественно держать информацию о 12 блоках тяжелее, чем об одном. В какой-то момент память у вас закончится. NameNode это обычный диск и он не резиновый. Даже если у вас петабайты на HDD дисках для данных, то у NameNode может уже не оказаться места. И тогда все встанет.

В HDFS важно следить, чтобы не плодилось много мелких файлов. Спарк при сохранении таблиц как раз часто сохраняет файлы в формате parquet размером с Кб. И получается, что у вас может сохраниться до 20 000 новых файлов, хотя можно было обойтись и 4 000. Т.е. более компактно. Стремиться нужно к размеру блока в HDFS.

Резюмируем:
Много мелких файлов плохо – перегружаем память NameNode и чтение 1млн мелких фалойв это долго.

Один, но большой файл – NameNode радуется, но делать full scan 1Пб данных тоже не разумно. Опять долгое чтение, да и никогда никто не читает весь петабайт)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👌41💯1
Я не могу развидеть это слово)) Оно уже в ДНК)

Распределенное жилье))

господи, храни этот спарк)
😁41😱4🤣2🙈2
Карьерный буст для DWH-разработчиков 👨‍💻

Есть опыт работы от года и желание выйти на новый уровень? На интенсиве в Открытых школах Т1 ты прокачаешь скилы и сможешь попасть в сильную ИТ-команду 🔝

Т1 признан крупнейшей ИТ-компанией в России по версии RAEX 2023, в портфеле 70+ востребованных продуктов и услуг, которые развивают уже 23 000+ ИТ-профессионалов, и мы всегда в поиске новых талантов.

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

⌛️ Быстрое обучение: 1 месяц.
💻Гибкий формат: все этапы онлайн, занятия по вечерам.

Покоряй бигтех — подай заявку до 24 июля!

Старт интенсива — 29 июля.

Реклама. Информация о рекламодателе
💩12🔥11👍2🍌2🫡2
👀 Все есть в интернете, но ничего нет!

Когда я только начинал учиться, я находил курсы по python, sql и даже по Hadoop. Но абсолютно ничего не находилось по Spark.
И нет, у меня не было желания смотреть tutorial от Индусов. Это треш! Я не переношу их акцент.

Я хотел доступного объяснения, без душноты на русском языке и чтобы это было для начинающих, а не для ученых! Я отчасти веду канал именно для этого! Чтобы и самому разобраться и другим помочь!

Поэтому ближе к концу лета, а может и вовсе в сентябре я планирую записать урок по Spark. Это будет видос на youtube. Точно такой же, как вот этот про HADOOP (HDFS) или вот этот про docker. И если вы не видели, то вот этот про data engineering. Подписывайтесь!

Плюс у меня есть крутая идея. Я сделаю пробный видос про Spark для всех, кто подписан на мой бусти. Там я в прямом эфире покажу, как работает Spark и что он из себя представляет. Это будет видос-тестовый прогон. Его я сделаю в 27-28 июля!

Вы сможете в прямом эфире задать любой вопрос по Spark!

Поэтому кому не терпится побыстрее уже познакомиться со Spark, то подписывайтесь на мой бусти. Я покажу вам, как работают DE со Spark на работе.
А на что не смогу ответить, то войдет в финальный чистовой ролик уже на Youtube! Но уже осенью!

🅱️🩸🩸🩸🩸
Ссылка на BOOSTY

https://boosty.to/halltape_data
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥38❤‍🔥5👍51💩1
👩‍💻 UNION vs UNION ALL

Взял из курса на степике по DE

https://stepik.org/lesson/893154/step/1?auth=login&unit=898095

В целом для совсем нулевого уровня курс норм. Но если вы уже шарите за нормальные формы и знаете отличие OLTP vs OLAP, тогда не стоит.
Please open Telegram to view this post
VIEW IN TELEGRAM
14🔥3👏1
🎸 Москва!

Можем встретиться на IT пикнике, если есть желание))
Если кто был уже, отпишитесь насколько прикольно или интересно. Я в целом иногда бываю на таких мероприятиях. Как минимум можем все увидеться вживую, а не сидеть в своих домах за компуктерами.

https://it-picnic.ru

Не реклама!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10🤔4😱2
😘 Если ничего не делать, то точно не получится!

Это комменты на ютубе к моему видосу про то, кто такие data engineer

Например стать айтишником или пробиться со своим треком в чарты – две разные цели. И там и там есть ошибка выжившего.

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

А в айти понятный путь. Делаешь резюме, ходишь на собес. Удачно проходишь собес. Если не зовут на собес, значит корректируешь так резюме, чтобы оно попадало в фильтр. И проходишь эту игру поэтапно. Здесь четкие правила игры и есть ОКЛАД. Это ваш гарантированный доход по ТК РФ.

Не сдаемся и работаем! Те, кто двигаются, те доходят до своей цели!
Please open Telegram to view this post
VIEW IN TELEGRAM
25👍11🔥5
🔄 Пример крутого пет проекта!

ССЫЛКА НА YOUTUBE
ССЫЛКА НА GITHUB

Чувак в реальном времени поднимает сервисы в docker compose и пишет код в airflow. На мой взгляд, если просто повторите за ним и придумаете сами несколько источников, то можно смело говорить, что у вас есть опыт работы с инструментами.

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

Я рекомендую просто перепечатывать за ним, параллельно закидывая в cht gpt то, что вам непонятно. А еще лучше, если вы будете парсить данные с тех сайтов, которые вам интересны, чтобы было не скучно!

А я пошел смотреть другие видосы у него. Это прям находка!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36👍74
➡️ Смело забивайте на задачи!

Объявление для тех, кто решает сейчас задачи на степике по python и так далее.

Если вы видите тупорылые задачи на шахматы, на матрицы или в описании задачи вообще описана какая-то история (типа олимпиадная задача), то смело пропускайте это днище и не засирайте себе мозг!

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

Не слушайте умников, которые вам затирают про БАЗУ. Типа надо сначала разобраться, как это работает на низком уровне, а только потом уже можно приступать к более сложному.

Решайте то, что решается. Сели за задачу. Если сидите над ней уже 2 часа, смело пропускайте и идите дальше. Вполне вероятно, что вы к ней сможете вернуться уже, когда получите оффер. Но вам тогда будет уже наплевать. А время идет и возраст уходит.

Пожалуйста, будьте прагматичнее и срезайте путь, как можете. В нашей жизни часто играет большую роль удача, а не умение решать олимпиадные задачи!

У меня кипит! 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥86👍12😁43👏2
🔤🔤🔤🔤🔤 Стрим по Spark!

Уже завтра я буду вести стрим по казино spark!

🟡 Мы соберем самую настоящую витрину данных
🟡 Покажу некоторые проблемы при расчете, а также обсудим их оптимальное решение
⚫️ Если останется время, то запустим скрипт за несколько дней и подключим логгирование

Это пример реальной задачи на работе.

Важно:
Это будет тестовый прогон в реальном времени. Можно будет задать любые вопросы по коду, настройке и так далее.
Чистовик я выпущу только осенью на своем Youtube канале (будет доступно всем бесплатно)
Более того, данные и сам скрипт я добавлю в свой проект на github, поэтому любой из вас сможет повторить это у себя дома!

Проводить стрим буду на своем Boosty!
Подписывайся
, если не хочешь пропустить!

🅱️🩸🩸🩸🩸
https://boosty.to/halltape_data
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥33👍52👎1👏1
😥 Я ничего из этого не знал!

Это 27 июля 2022. Я почти в самом начале. Я тогда пробежался по вакансиям на hh.ru и просто выписал слова из вакансий Data Engineer.

Для меня это были просто слова, ну кроме Git и python. Git я знал из школы21, а питон и так на слуху у всех. Тогда я с ужасом смотрел на этот список и сразу впадал в кому. Ментально казалось, что эти технологии надо начинать учить еще со школы, класса так с 5 (ладно, я уже утрирую), с шестого.

Т.е. видно, что я пишу PostgreSQL, а потом СУБД Postgres, хотя это одно и тоже. Или пишу Hive, хотя он входит в Hadoop. А еще мне нравится, как я написал Spark, а потом сразу же уточнил, что PySpark)) Кстати SSIS я до сих пор не знаю что это (Это что-то из MSSQL?). Если вы на этом этапе, то: "Не все технологии нужно знать сразу, какие-то догоните уже на работе"

Вот, как бы я рекомендовал идти:
1. SQL (postgre, mysql)
2. python
3. spark (pandas)
4. docker (+ Git)
5. Airflow
6. BI


Читаем теорию (по возможности тыкаем в технологию): Clickhouse, Kafka, Scala

Jira – это вообще трекер задач на работе. Максимум про него в Youtube можно глянуть.
Redis – это субд, можете в докере развернуть. Она вроде для кэша используется больше.

Короче говоря, если только начали, то не пытайтесь овладеть всем! Основа всегда одна, а там дальше соориентируетесь уже сами, когда будете на работе!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥48👍123👏3
Обучаем IT-специалистов и берём в команду ⚡️

Приглашаем всех, кто любит работать с данными и имеет опыт работы с DWH от 6 месяцев, в Открытые школы Т1 — программу найма в формате ИТ-интенсива.

🚀 Это отличный шанс бесплатно прокачать навыки и присоединиться к одному из крупнейших проектов по созданию новой технологичной платформы данных в России в банковском секторе.

Лучшим участникам предложат оффер в команду Т1 — крупнейшей ИТ-компании в России по версии RAEX 2023, в портфеле которой 800+ масштабных проектов и 70+ продуктов и услуг.

Зачем участвовать?

🔹 Уникальный рыночный опыт. Т1 одни из первых на рынке, кто внедряет технологии для управления данными.

🔹 Попасть в число лучших. Проекты Т1 ежегодно получают лучшие награды на ИТ-конкурсах.

🔹 Поддержка. Тебя ждёт команда опытных профессионалов в области разработки хранилищ данных и аналитических систем, которые помогут расти и развиваться.

Выбирай:
📁 аналитик DWH
🖥 разработчик DWH

Для участия нужен опыт работы от 6 месяцев в DWH.

Быстрое обучение: 1 месяц
📱 Гибкий формат: онлайн по вечерам (от 8 часов в неделю на вебинары и практику)

Подавай заявку до 2 августа!
Предусмотрено входное тестирование.

Старт интенсива: 5 августа.

Реклама. Информация о рекламодателе
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10👍6🤔42🔥2
Стрим#1

Можем проводить такие стримы раз в две недели или по-моему настроению))

Буду на свежем воздухе стримить, пока погода позволяет)
👍12🔥4😁1