TGViewer
Channel Public Channel
Я – Дата Инженер | Евгений Виндюков

Я – Дата Инженер | Евгений Виндюков

@halltape_data

💵 Как стать Data Engineer
🗄 Смотри Roadmap в закрепе!
_____________________________
Автор @halltape
Все вопросы по рекламе @k_shredinger
Subscribers
5.92K
Photos
412
Videos
42
Links
273

Showing posts older than #762 · Back to latest

Older Posts 13 shown
Post #761 6.5K
▶️ Видео-мотивация!

Снял видос для тех, кто только думает, стоит ли ему вкатывать в IT или менять направление, а может и в целом не понимает, куда двигаться дальше.

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

https://youtu.be/TyC8V7agRjw
https://youtu.be/TyC8V7agRjw
https://youtu.be/TyC8V7agRjw


наш чат для общения
  • 👍 19
  • 🔥 13
  • ❤ 11
Post #760 4.32K
Титаник не умеет читать Iceberg

Ничего не понятно, но очень интересно.


Что имеем?
Есть PowerBI. Да, это программа для дашбордов. Там можно смотреть метрики, строить графики. PowerBI подключается к вашей БД —> дальше к табличке —> SQL запрос —> график! И также есть S3 (тут храним данные).

Данные у нас грузятся каждый день за 7 дней назад (Каждый день грузим неделю). Почему? Потому, что они могут долетать обновленные + иногда нужно сделать ручной запуск РЕТРО (прогрузить конкретный диапазон дат из прошлого)

Что требуется?
PowerBI должен обращаться к этим данным и строить по ним дашборд.

Как будем решать?
Во-первых мы БИГДАТА, значит мы наверняка данные партицируем (разбиваем по папкам по бизнес дате). Да, это круто. Потом можно удалять конкретные партиции-папки в момент, когда грузим 7 дней назад. Нам же надо обновлять данные за прошлый период. Но PowerBI по какой-то причине не может читать в S3 партиции. Ну вот не получается и все! Только если все лежит в одной ПАПКЕ (Душнилы: это не папки, а объекты..так нельзя говорить...СТАЛИНА НА ВАС НЕТ)

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

Давайте применим Delta таблицы! Это типа штука, которая позволяется удалять данные в S3. Типа пишешь DELETE и оно прям удаляет. Но у меня не получается, потому что версия Spark Scala и Delta не подходят друг к другу. Короче спарк я обновить сам не могу, а версию Delta мне тоже подходящую не найти.

Давайте применим Iceberg! У меня получилось сделать DELETE! Все четко удалилось из .parquet. Напомню, что из файла формата parquet как бы удалить нельзя ничего. Его можно либо дропнуть полностью и перезаписать, либо дозаписать рядом. А Iceberg — это типа надстройка, которая позволяет DELETE, UPDATE, MERGE + еще можно ходить по разным версиям таблиц, типа как в прошлое!

Вроде все круто! Но теперь PowerBI не умеет читать Iceberg. Короче у нас нет этого коннектора.

Че теперь делать?

⚠️ Делаем 3 таблицы:
source_table - это инкремент (например 7 дней или ретро. Каждый раз overwrite)
tmp_table - это временная таблица (в нее будут стекать финальные данные)
target_table - это таблица витрина, с которой читает PowerBI

Прилетел инкремент в source_table, дальше узнаем в нем min и max бизнес дат. Потому читаем target_table и фильтруем из него все данные, кроме найденных min и max. Дальше делаем source_table.union(filtered_target_table) и записываем в tmp_table.

Последний шаг. Удаляем target_table и переименовываем tmp_table в target_table.

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

Че думаете?
  • ❤ 11
  • 🔥 9
  • 👍 5
Post #759 4.32K
Как ответить на собесе, если не знаешь?

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

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

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

Или зачем давать задачи по алгосам, если сто процентов все разрабы будут писать код через Cursor, Codex или Copilot — ВОТ РАНЬШЕ БЫЛО ЛУЧШЕ! ПИСАЛИ САМИ РУКАМИ! Хотя стоп, если вы забыли, то профессор Савельев (он там за мозг шарит) вообще в одном из интервью сказал, что ПИТОН — это вообще не язык программирования...Вот ассемблер да.

Если что, я могу в комменты скинуть этот видос, я не придумываю. Каждые 5 лет люди стареют и не желают принимать новые технологии и еще свой возраст. Ой, это вообще вечная тема...

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

Все. Никаких теорем, определений и так далее. Услышал, что у них Greenplum, сразу перестраивай свой рассказ под него. Можно сказать о том, какие задачи были с ним и сразу показать глубину знаний. Причем необязательно шарить за него прям до исходного кода. Команде может достаточно понимать за партиции, настройки дистрибуции, да и внешние таблицы. В целом может им это уже ок. Не всем же нужен ОЛИМПИАДНИК!

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

Я принципиально отказываюсь даже разгонять логически, потому что это тупо додумывание. Причем совершенно точно не в ту сторону. И мне потом собеседующий поставит не один минус, а 5 минусов. Очевидно, если не шаришь, то намешаешь вообще все понятия и термины.

Поэтому я стал просто отказывать от вопросов, если не знаю. И честно об этом говорю. А если знаю только какие-то основы, то могу предложить просто рассказать все, с чем сталкивался с этим инструментом.

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

Вот знаете, я несколько раз смотрел видосы по индексам, по кластеризованным индексам, как работает внутри все это и благополучно уже все забыл. А ПОЧЕМУ? Потому что я так ни разу и не столкнулся с ними в задачах. И вот я буду сейчас выдумывать, что такое GIST индекс или как работает некластеризванный индекс. Да я не помню уже че это такое. Ну есть и есть.

Инфа, которую мы не используем явно стирается, как ненужная. А видос про то, что питон это ерунда, а не программирование, сейчас скину)
  • 👍 24
  • ❤ 19
  • 🔥 8
  • 😁 5
  • 🤔 1
Post #758 4.16K
Мне писать объяснительную?

Бывают разные комменты на ютубе, но некоторыми хочется делиться.

Человеку непонятно, НА КАКОМ ОСНОВАНИИ на превью видео про ДАТА ИНЖЕНЕРОВ изображен АВТОМОБИЛЬ, кстати НЕМЕЦКОЙ МАРКИ!

Все, что можно поделать в этой ситуации — ЗАПРЕТИТЬ!

Вот реально, кого блин волнует это вообще. Ну захотел я так. НЕТ! ТЫ ДОЛЖЕН БЫЛ СДЕЛАТЬ УМЕРЕННУЮ ОБЛОЖКУ. НЕЛЬЗЯ ВЫДЕЛЯТЬСЯ.

коммент тут
  • 😁 37
  • 🤯 6
  • 😱 2
  • ❤ 1
Post #754 5.32K
Как я написал свой AI?

Я не знал, как правильно назвать заголовок для поста, потому что, написав LLM + RAG вызвало бы много вопросов. А че это? А?

Короче, я захотел написать бота, который помогал бы нам отвечать на вопросы людей по поводу bootcamp, роадмаперс, ценах, расписаниях и так далее. И, как вы понимаете, бот должен держать контекст у себя в голове + отвечать, как человек.

➡️ Кстати о том, как он работает я буду рассказывать и показывать у нас в Роадмаперах! (Скидка 30% до 15 января)

А зачем и почему?
Потому что мы заколебались отвечать на одни и те же вопросы по 100 000 раз. Это реально тяжело. Вас много, мы одни.

И что ты придумал?
Все очень просто. Берем python, дальше добавляем подключение к API DeepSeek и все это оборачиваем в aiogram (библиотека для телеграм).

Но тут сразу вопрос: ОКЭЙ, ЭТО ПРОСТО ЧАТ ГПТ, В ЧЕМ РАЗНИЦА?

Фишка в том, что если вы хотите, чтобы бот выдавал вам только конкретную информацию о вашем магазине, компании, личном расписании на бальные танцы или документации, то НАДО ВАШУ ЛЛМ ОГРАНИЧИТЬ!

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

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

Как это решается?
Если кто не понял, то в Роадмаперах! (Скидка 30% до 15 января) я прям покажу код. Он открыт и научу каждого собирать себе помощника.
В кратце, нам нужен json или файл markdown, в котором будет вся информация. Я кстати загружал даже целый Roadmap. Потом эту информацию надо векторизовать и сложить в векторную БД. И уже из нее искать похожие на вопрос кусочки и отправлять в LLM.

Кто не понял, я еще раз повторю, я лично покажу, как это включать, запускать и так далее в Роадмаперах

🍟 Роадмаперах! (Скидка 30% до 15 января)
  • ❤ 11
  • 🔥 7
  • 👍 5
Post #750 4.04K
XLTable - OLAP Cервер для нового стека данных
Работайте с ClickHouse, BigQuery, Snowflake из сводной таблицы Excel.

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

📈Ключевые возможности XLTable:
• Аналог MS OLAP (SSAS) для больших данных
• Интеграция с MS Excel по протоколу XMLA
• Поддержка ClickHouse, BigQuery, Snowflake
• Скоро: YDB, Greenplum
• Множество групп мер, иерархий и измерений в одном кубе
• Гибкие настройки кэширования
• Развёртывание внутри вашей инфраструктуры или в облаке

🔒Безопасность:
• Интеграция с LDAP
• Разграничение доступа на уровне мер, измерений и их членов

⚙️Производительность:
• Безлимитное количество мер и измерений
• Работа из Excel c миллиардами строк данных
• Все расчеты производятся на уровне ClickHouse
• Отличные возможности для масштабирования

Хочешь получить бесплатную пробную версию на 30 дней?

👉🏻Напиши «OLAP» - покажем демо и поможем с настройкой

Контакт: https://t.me/vorobiova_anastasia
Сайт с информацией о продукте: https://xltable.com/
  • 🔥 11
  • ❤ 8
  • 😁 2
  • 👍 1
  • 👏 1
Post #747 5.77K
🔴 20:00 МСК СТРИМ!

Стрим будет в Yandex Телемост

➡ ссылка на стрим

Заходим! Рассказываем и показываем про наш BootCamp
  • 😁 14
  • 🔥 8
  • ❤ 2
  • 👍 2
Post #745 3.46K
🔴 Завтра 19 декабря 20:00 МСК СТРИМ!

Стрим будет в Yandex Телемост

➡️ ссылка на стрим

О чем стрим?
Расскажем про BootCamp! Стартует уже 4 поток!
Покажем, как у нас все устроено, инструменты, пайплайны, а также ответим на вопросы.

Ребят, у нас уже много заявок на Буткемп Январь, но рекомендую все равно записаться в @roadmappers_bot, если еще не записались.
Может повести и мы возьмем и вас!

Запись стрима будет
  • 🔥 15
  • 😁 7
  • ❤ 5
  • 👍 4
Post #743 3.53K
Плоти Налоги!

Пишет мне рекрутер. Сколько хотите зарабатывать?
Я: 350к на руки!

HR: ок, а сколько в гросс?

Я: Ну сами посчитайте, я не знаю.

HR: Але, дядя, включи мозг, ЦКАТИНА! Прогрессивная шкала налогов

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


НДС, утильсбор, прогрессивная шкала налогов. Тех людей, у которых не было денег это коснется косвенно. Как говорится, продукты марки «каждый день» как покупали, так и покупают. А вот если вы уже богач, то скоро опять станете бедным. Недолго песенка играла. Это все мои эмоции.

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

Пока что я впервые встретился с таким вопросом по налогам. HR мне объяснил, что надо глянуть в НДФЛ и посмотреть процент налога. И от него уже считать ГРОСС (Гросс — значит до вычета налогов). Безусловно, для вас ничего не поменяется. Налог платит за вас работодатель, поэтому ему надо знать сколько вы уже заработали за этот год.

Как сказано на сайте ФНС, налог сверху накидывается постепенно, а не сразу. Т.е. если у вас зарплата 500к, но вы в этом году еще нифига не работали, то для вас будет считаться пока 13 процентов. И как только вы перепрыгните 2.5млн дохода, тогда и будет повышение.

Кстати, если у вас параллельно открыто ИП или СЗ, то доход с них не распространяется на трудовой доход по ТК РФ. Поэтому выдохните. Хотя бы тут ок.

И сколько компаниям теперь за нас платить?

Ставка 15% — для части годового дохода выше 2,4 млн руб. и до 5 млн руб. включительно (в среднем выше 200 тыс. руб. и до 416,7 тыс. руб. включительно в месяц).

Ставка 18% — для части годового дохода выше 5 млн руб. и до 20 млн руб. включительно (в среднем выше 416,7 тыс. руб. и до 1,670 тыс. руб. включительно в месяц).

Ставка 20% — для части годового дохода выше 20 млн руб. и до 50 млн руб. включительно (в среднем выше 1,670 тыс. руб. и до 4,170 тыс. руб. включительно в месяц).

Ставка 22% — для части дохода выше 50 млн руб. в год, или выше 4,170 тыс. руб. в месяц.

У кого есть какие мысли на этот счет?
  • 👍 7
  • 😱 6
  • ❤ 5
  • 🔥 2
  • 😁 1
Post #739 4.01K
Друзья, вопрос!

Во-первых, давайте перечислим всех людей, кто мне завидует. Ладно, это шутка. Не обижайтесь. И по мне стреляли и я упал в лужу и лежал там…

У кого есть опыт работы вот в таких вот теплых местах?

Например вы сидите на балконе и работаете за компьютером? Или с таким климатом только бездельничать?

Я точно знаю, что какая-то часть людей либо переехали, либо уезжают на зимовку в теплый край. Причем необязательно на БАЛИ, ага ок, РЕАЛЬНО, остров меня принял, я дышу маткой. Возможно Сочи, например.

Интересно именно работа ДЕшников или аналитиков, где надо иногда реально сосредоточиться и прям вникать в код. Насколько теплая, жаркая погода на это влияет?

Кто где живет? Почему не хотите вернуться, цкатины в офис? Вместе со всеми ездить в метро на работу в 8 утра? А? Запретить улыбаться!

Я сейчас в отпуске, комп не брал. Но очень интересно, насколько это ок?

И я не про переезд навсегда. А например про зимовку. Ну или на год, два. Никакой политики, исключительно про отсутствие холода и наличии огромного кол-ва зеленого цвета в листьях.
  • ❤ 16
  • 🔥 11
  • 👏 4
  • 😁 3
Post #732 3.74K
LiveCoding от Roadmappers!

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

Я быстро навайбкодил. Задачи генерирует под капотом LLM. Можно выбрать уровень сложности + дописать в поле дополнительные параметры, например "Оконные функции и CROSS JOIN" или "Декораторы, ООП, логирование"

Генератор выдает вам задачу, ее можно скопировать и запускать у себя в VSCode.

Зачем я это сделал?
У нас на BootCamp есть мок собесы и нам нужны задачи для этих собесов. Чтобы не брать старые и не повторяться, нужно сгенерить новые. На самом деле это НИЧЕМ НЕ ОТЛИЧАЕТСЯ ОТ ТОГО, чтобы просто у чата ГПТ попросить. Но чату надо все таки написать промпт, потом у него галюцинации пойдут, он уведет вас куда-то не туда.. А тут ОДНА КНОПКА — просто нажимаешь и все работает.

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

Че хочу?
1. Хочу генератор пет проектов. Кидаю ему свою легенду, опыт, мысли. Пусть он мне собирает пет проект задачу.
2. У меня там есть LiveCode, где можно писать код, типа как в YandexCode (но пока нет подсветки синтаксиса...альфа версия ок?)
3. Карточки обучения. Как в дуолингво. Прочитали статью, потом еще одну, и уже забыли первую. А так возможно можно себя держать в тонусе по теории
4. Прожарка резюме (идея не нова, но можно попробовать)
5. ССЫЛКИ НА НАШИ РОАДМАПЫ И БУТКЕМПЫ И КУРСЫ (например вы порешали задачки, потом поняли, что надо подтягивать скилы и залетели на наши мощнейшие курсы и буткемпы)
6. Сделать какой-то простой запускатор кода (тут под вопросом. Но кажется могло бы быть прикольным)

Зачем, когда есть уже 10000000 решений?
Потому что у нас это выглядит стильно, как майбах и мы хотим продавать столько курсов и буткемпов, чтобы потом выкупить SpaceX Илона Маска и занять место на мировой арене компаний. Других причин ТУТ И НЕ МОЖЕТ БЫТЬ

Коротко, однако, получилось))

Короче , кому интересно, накидайте идей, плиз. У меня сильно творческая натура, я не могу не делать такие штуки. Предлагаю, использовать этот юношеский заряд энергии и вытягивать из меня максимум!
  • ❤ 13
  • 🔥 11
  • 👍 7
Post #731 2.75K
Когда ИИ заменит нас?

Есть точная дата: это 17 июля. Это мне в вотсапе сказала мамина подруга, у которой двоюродный брат работает в МЧС младшим помощником старшего дворника.

А если без шуток, то в четверг. Ладно, на самом деле, думаю, что заменит тех, кто ИИ вообще не пользуется. Рассказываю.

Нам нужно было написать доп функционал для телеграм бота для BootCamp (кстати записаться можно через @roadmappers_bot), чтобы тот запрашивал у пользователя GitHub и добавлял его в репозиторий буткемпа.

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

Короче. Я написал небольшое ТЗ для chatGPT. Попросил конкретно написать класс для подключения к API GitHub и несколько методов. При этом из примера кода, я отправил bash команды, которые заранее протестировал.

В итоге чат мне выдал неплохой код на 100 строчек. Уже со всеми валидациями, регулярками и статик методами. Короче, я реально сэкономил кучу времени на написание кода. Дальше надо было только поправить логирование и адаптировать выводы функций для телеграм бота.

Получилось быстрое кастомное решение с очень небольшим и конкретным функционалом. Мне не нужна целая библиотека. Мне достаточно сегодня 100 строчек для этого.

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

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

Даже например найти слово в коллекции. Можно искать в списке (это дольше), а можно в множестве. И если пишешь сам, то можешь написать по привычке список, так как set ну не часто видишь и используешь. А чат тебе дает иногда изящные подходы. Тут конечно сейчас набегут душнилы, которые пишут на ассемблере и с пеной у рта начнут говорить, ЧТО ТАК НЕЛЬЗЯ! Но я жду, когда уже их наконец заменит нейросетка.. будут на своих перфокартах где-нибудь на помойке писать код. И вообще эти программисты уже совсем в край офигели. Столько зарабатывать!

В общем и целом, написание кода ускоряется в разы, но и задачи становится больше и масштабнее. Как я уже говорил, вчера одно приложение писало 100 программистов. Сегодня его пишет 10 программистов, а завтра один программист будет писать 100 приложений.

Работы на самом деле может стать еще больше и нам всем придется адаптироваться. А те, кто будет тупить и тормозить, ну можно стать фермером. Кстати, если что, BootCamp по открытию своей фермы тоже будет. Первый поток на следующий день, когда ИИ заменит программистов.
  • ❤ 10
  • 🔥 7
  • 👍 6
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →