Я – Дата Инженер | Евгений Виндюков
4.35K subscribers
332 photos
32 videos
12 files
229 links
💻 Как войти в IT?
💵 Как стать Data Engineer
🗄 Что такое Big Data и кто ей управляет?
_____________________________
Автор @halltape
Все вопросы по рекламе @k_shredinger
Download Telegram
🦾 Топ команд в Terminal!

Это один из пунктов Roadmap V2.0
Самые частые команды в Linux, которыми я пользуюсь почти каждый день. Нет смысла учить весь линукс, когда вы будете реально использовать только 10 команд.

ls - список файлов и директорий в текущем каталоге
ls -l  # подробный список
ls -a # включая скрытые файлы

cd - смена текущего каталога
cd /path/to/directory
cd .. # выйти из текущей папки на уровень выше

pwd - показать текущий путь в каталог, где вы находитесь
pwd

cp - копирование файлов и директорий
cp source destination

mv - перемещение или переименование файлов и директорий
mv source destination

touch - создание файлов
touch file.txt # создать файл

vim - встроенный редактор кода
vim my_code.py
# Чтобы выйти из vim, нужно нажать esc, потом :wq (это сохраняет файл и выходит из него)

rm - удаление файлов и директорий
rm file
rm -r directory # удаление директории и её содержимого

cat - вывод содержимого файла
cat file

grep - поиск строк в файле
grep "apple" file

Сохрани, чтобы не забыть!
🔥39👍16😁4
🎇 Spark для бабушек!

Пробую уже выставлять свет для видоса по Apache Spark, пока пишу сценарий.

Напишите свои вопросы, которые вам непонятны в Спарке или вообще может непонятны в этом инструменте!

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

Фотка-черновик. Весь лишний мусор я уберу)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥364👍3
🔗 Паркет, Ламинат или Линолеум – какие еще форматы файлов вы знаете?

Этот пост исключительно для тех, кто уже вкатился или скорее уже давно катится в IT.

🔖 Как происходит сжатие в формате .parquet?
Поскольку это колоночный формат, то очевидно, что сжать данные одного типа в колонках очень легко! Но как именно?

Первый вариант – Словари:
Это похоже на foreign key в СУБД. Берем уникальные значения из столбца и присваиваем каждому свой индекс. В главном столбце храним уже индекс из таблицы измерений, а не несколько раз одну и туже строку в 100 символов.
Эффективно!
Но это работает, когда значения повторяются.
Например "ЦВЕТ". Он 100% повторится несколько раз.
А вот Почтовый индекс такой кардинальности не даст. Поэтому способ хороший, но не универсальный.

Второй вариант – RLE (Run length encoding):
Тут все просто. Сначала пишем кол-во значений, потом само значение.
Есть строка ABAABBBBCCCCCCC
После сжатия 1A1B2A4B7C
Вообще супер удобно и эффективно!
Но плохо работает, когда очень мало или вообще нет повторений:
До: QWERTYUIOPASDFGHJKL
После: 1Q1W1E1R1T1Y1U1I1O1P1A1S1D1F1G1H1J1K1L

Третий вариант – Delta:
Пишем только первое значение, остальное это только разница от предыдущего.
т.е. есть данные по времени 18:20:19, а второе значение пишем 1 (вместо 18:20:20)

Все это прекрасно визуализировано на скрине!
Кто хочет почитать поглубже, то вот
ссылка

📌 На практике я пока не сталкивался с тем, чтобы нужно было разбираться с сжатием паркетов. На собесах могут спросить лишь о том, что это за формат и почему он хороший для сжатия. Но про методы сжатия пока не спрашивали. Хотя блеснуть эрудицией можно)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥84
This media is not supported in your browser
VIEW IN TELEGRAM
📺 Справедливости нет!

К Антону Назарову многие относятся негативно, но я разделяю его точку зрения. Если у вас так себе зарплата и вам не нравится, что айтишники зарабатывают больше, при этом работая в более комфортных условиях, то вкатывайтесь в IT!

Не существует справедливости. Брулетова вообще смотрит на нас из розового гелика и думает, что мы лохи)) может себе позволить…

Кто-то может работать больше, а зарабатывать меньше. К сожалению не каждый труд оплачивается одинаково. И вы действительно можете убиваться на работе, на объектах, в небе, в поле, под землей и получать меньше, чем айтишник, который сидит дома или на берегу моря и пьет смузи. При этом он реально может работать меньше. Но и бывает такое, что у человека огромная ответственность, а за нее ничего не платят. Это конечно самое печальное. Я могу вам рекомендовать только менять профессию. Никто вам деньги просто так сверху не заплатит. Меняйте сферу.

Копать нельзя кодить.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28🔥85👎1
🎯 Воскресный мем
😁285🔥5
Разработчик DWH, ты тут? 😳

Специально для тебя запустили бесплатный онлайн-интенсив в Открытых школах Т1! Прокачай скилы и, если повезет, попади в штат Холдинга Т1 — крупнейшей ИТ-компании в России по версии RAEX и CNews Analytics 2023.

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

🔵Бесплатное обучение в гибком формате: по вечерам, онлайн, из любого города РФ
🔵Уникальный рыночный опыт. Проекты Т1 ежегодно побеждают в ИТ-конкурсах: Global CIO, Национальной банковской премии и др. Тебя обучит и поддержит команда профессионалов.
🔵Возможность влиять на развитие ключевых отраслей экономики: в портфеле Т1 800+ высокотехнологичных проектов и 70+ продуктов и услуг на современном техстеке для крупнейших компаний и госсектора.
🔵Карьерный рост и поддержка. Уникальный карьерный фаст-трек для выпускников Открытых школ помогает молодым специалистам прокачаться до уровня мидла в Т1 за 1,5 года.

Успей подать заявку до 25 октября!

Реклама. ООО «Т1» ИНН: 7720484492. Erid: 2SDnjdCzAfD
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8👎5🔥32
🔞 Мне от тебя нужен только С***

На самом деле речь конечно же не об этом. Хотя про CI/CD тоже не сильно много пишут, как и про секс)

Так вот мне удалось прикоснуться к сексу CI/CD! Сейчас быстро, в формате "для бабушки" выдам вам БАЗУ:

Вы написали код. Дальше загрузили его на GitHub в свой репозиторий (папку). А куда он должен деваться дальше? Ведь на гитхабе хранятся только папки с файлами, внутри которых просто код. По факту файлы с кодом – это тупо текст.

Так вот, чтобы написанный код (например он запускает скачивание - обработку - загрузку данных из источников в хранилище) запустился и начал работать, вам нужно настроить еще одну программу. В самом просто виде эта программа может быть на самом GitHub в виде GitHub Actions. Визуально это просто вкладка на сайте, где вы можете выбрать готовые (написанные за вас) файлики в формате .yaml с "машинными" инструкциями внутри. Либо вы можете написать свой файлик и поставить там формат .yaml.

Этот файл в формате .YAML визуально внутри похож на список инструкций по типу, прочитай код, запусти код, установи библиотеки, запусти тест, проверь разницу кода в ветках и так далее. Возможностей там куча, предел только ваша фантазия. Грубо говоря, вы этим файликом просто говорите GitHub, чтобы он взял ваш код и выполнил с ним то, что вы ему прикажите. Например можно автоматизировать, чтобы при каждой загрузке кода в гитхаб, сразу же запускался процесс, который проверяет файлы на синтаксис и стиль кода. Если у нас будет 100 программистов, то это будет очень удобно. Для каждого разработчика есть одинаковые правила по стилю кода и если их код не проходит тесты, то это подсвечивается и например не дает коду запускаться дальше и отправляться на сервера в продакшен (чистовик).

Лично у меня задача была в следующем. Представьте 100 разработчиков пишут SQL скрипты, которые создают таблички в Базе Данных. Разрабы просто закачивают свой код на гитхаб, но ведь в БД таблицы не появляются. Нужен процесс, который будет отслеживать, что появились новые скрипты и их надо запустить на сервере, чтобы таблицы создалИсь. Это понятно. Но если процесс будет запускаться каждый раз, когда 100 разрабов загружают свой код, то мы будем все время пересоздавать одни и те же таблицы. А их кол-во будет расти и нагрузка вместе с ней. Значит надо сделать так, чтобы создавались только новые таблицы, которых ранее не было на GitHub. Это мы можем отследить, просто посмотрев разницу коммитов (загрузок) за предыдущий раз. Видим разницу, что добавилось всего 3 скрипта – вот их и грузим!

Эту всю логику и пишут в файлике. Там также пишут условия, когда должен запускаться код. Например только при PULL REQUEST или при PUSH в мастер ветку, а может и вовсе оставить только ручной запуск (буквально можно запускать самостоятельно с кнопки). Также в этом файле пишут инструкции, которые устанавливают нужные библиотеки, нужную версию языка и так далее. Более того, чтобы создать таблицы в СУБД, надо ведь знать имя базы данных, схему и прочее. Все это еще может быть секретными данными, которые нельзя просто так светить в коде и есть требования, чтобы они шифровались и передавались в файл по "защищенному каналу". Короче говоря, чем сложнее логика и крупнее компания, тем сложнее становится процесс CI/CD.

ПодЫтожим. Код загрузился на гитхаб, потом его проверила программа на то, что он запускается, загрузила на сервер, установила все необходимые библиотеки и запустила. ВООБЩЕ ВСЕМ ЭТИМ занимается DEVOps и казалось бы причем тут я. Но мне было интересно взять эту задачу.

Ладно, отвечу цитатой классика: "Вы держитесь здесь, вам всего доброго, хорошего настроения и здоровья!"
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍74👏1
🔴 ГО СЕГОДНЯ СТРИМ в 22:00?

Записи не будет, просто можем пообщаться, потестим насколько эта тема ок. Позадаете вопросы свои в комменты..

Че думаете?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24👍43
🧭 Кем быть лучше? DA или DE?

Вообще вопросов можно задать побольше и по острее:

Кто зарабатывает больше? А кем быть проще? А можно ли сменить потом направление? А кто виноват в плохих данных?

Хочу начать с качества данных
На практике конфликтов я пока не встречал (кого я обманываю), но при ошибках в данных, ответственность можно перекладывать, как на первых, так и на вторых. И еще не ясно, кто реально прав.

Может аналитики не дали четкого ТЗ, а дата инженеры сделали, как сами сочли нужным. Или косяк ДЕ, что вовремя не уточнили нюансы и теперь мы сидим с некачественными дашбордами и краснеем.

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

Как видите, общий навык общения нужен обоим профессиям.

Что касается сложности работы, то рынок очень рандомный. Зарплата не всегда прямо коррелирует с обязанностями, поэтому DA в одной компании может зарабатывать больше DE в другой и наоборот. При этом оба могут писать DAGs в Airflow и это будет норма.

Вопрос остается в том, куда вы хотите сами углубляться и двигаться. Если больше в технику и ближе к DevOps, то это лучше через DE. Если вам интересно более визуальная часть и анализ данных, то это в DA и BI. А дальше уже копать в этом направлении и прокачивать навыки в инструментах.

Если вы не знаете какое направление выбрать, то существует куча каналов с миллиардом полезных материалов (бесплатных).
И вот один из таких - Аналитика данных

А вот топ ссылок с полезными материалами:
🟣Дорожная карта аналитика данных
🟣Статьи по оконным функциям (часть 1 и часть 2)
🟣Исследование требуемых навыков в вакансиях data-специализаций
🟣Мок собесы на аналитиков
🟣Учебный проект по реализации платформы данных с нуля (часть 1, часть 2, часть 3)

Мне кстати еще зашла крутая у него идея с отдельным big data книжным каналом - КАНАЛ С БЕСПЛАТНЫМИ КНИГАМИ
Рекомендую подписаться!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍76
🔴 Го СЕГОДНЯ проведем СТРИМ 22:00 МСК!

23 октября 22:00

Для всех, кто недавно подписался, расскажу, че вас ждет до НГ! Расскажу про Roadmap V2.0 и заодно закинем туда ваши хотелки...

СТРИМ будет 23 октября в 22:00 на полтора часа. Записи не будет, поэтому кто хочет, тот пусть приходит!

Покажу, как выглядит ROADMAP! Кстати, если вы не последний человек в ДЕ, то кто-то из тех, кто будет у вас на собесе, вполне мог бы учиться по этому материалу. Поэтому, если у вас есть конкретные пожелания к будущим джунам-мидлам, можете закинуть свой личный материал (да хоть бусти или менторство). С вас контент, с меня реклама.

Также поболтаем на любые темы, просто познакомимся, навалю вам базы, мотивации и денег
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥62
🔴 Ссылка на СТРИМ

➡️https://www.twitch.tv/halltape

Вопросы и все остальное пишите в комментарии к этому посту! Отсюда я буду читать в прямом эфире.

ВОПРОСЫ И ОБСУЖДЕНИЕ в КОММЕНТАХ!
⬇️⬇️⬇️
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2🔥1
😈 Спасибо всем за СТРИМ!

Мощно дропнули несколько раз телегу! Теперь даже появился мем. Надо будет придумать парочку угарных)) В следюущий раз дропнем весь интернет!

Может заведем свои стикеры реально или реакции))

И кстати вполне вероятно, что следующий можно попробовать провести на Твиче!

И запомните, мы все должны РАЗНЫМИ СПОСОБАМИ ЗАЛЕТЕТЬ В ЭТО IT!

там в комменты скину файлом фотку для мема)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15😁7👍31
💬 СОБИРАЮ МОЩНЕЙШИЙ ROADMAP

Я уже начал собирать Roadmap V2.0 для Data Engineer, где будет отобранная теория + видосы на русском языке (включая мои). Вставляю туда только релевантный материал без ВОДЫ.

Это будет репозиторий на github, поэтому его можно будет всегда обновлять и править.

Основной материал я делаю своими силами, а вот по Airflow, dbt, Kafka, Оптимизация SQL я буду брать у коллег, но с разрешения естественно.

Data Learn умирает. У нас сильно меняется список инструментов с которыми мы работаем, поэтому даже этот roadmap будет актуален первые 3-4 года, если не меньше.

Собственно, я напишу коллегам по DE на разрешение вставки их материала в этот roadmap. А может я вообще зашью туда ссылки на сервис по покупке дешевых авиабилетов и заработаю еще и на рекламе?) Кстати, могу реально зашить ссылки на ваши бусти и платный контент взамен на репост моего роадмапа – бизнес по бартеру...

Помимо всего прочего, я туда вставлю ссылки на ChatGPT, которым пользуюсь лично я. И вполне вероятно, что нужно будет писать отдельно инфу под VPN сервисы. Чувствуется очень актуально!

💰 Короче, я собираю топ инфу, вы идете по ней и потом залетаете на 300к на руки и пьете смузи на берегу океана!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥59👍52