397 subscribers
228 photos
47 videos
11 files
307 links
Data Engineering Technologies.
SQL, Python, Kafka, Spark, Pandas, Airflow, Clickhouse, Greenplum, Postgres, dbt

Буст канала тут - https://t.me/boost/data_engi
Download Telegram
😁9
Forwarded from Хитрый Питон
Я всегда был сторонником обучения на практических задачах и сам не люблю при изучении новых языков/фреймворков/библиотек решать синтетические задачки. Поэтому мне понравился подход ребят из https://codecrafters.io/ - "напишите Redis, Git или Docker своими руками". Я некоторое время мариновал этот сайт в закладках, но тут во время отпуска решил попробовать.

Как это работает:
- Они разбивают большой проект на небольшие задачки по принципу "давай запустим сервис на порту", "теперь давай напишем простой ping/pong" и так далее
- Каждую небольшую задачку ты коммитишь, и они прогоняют по ней автоматические тесты - если тесты зеленые, то ты молодец 🙂
- Там есть очень базовые объяснения как что работает - типа туториалов "как устроен tcp" или "как работает пакет net в go", но их явно недостаточно, чтобы выполнить задание
- Самое интересное — это возможность посмотреть чужой код, прошедший тесты на каждом шаге - они просто показывают тебе покрашенные дифы и по ним можно разобраться, как именно человек переписал код чтобы решить эту задачу

У меня не было много времени, чтобы с этой штукой поиграться, но я написал базовый redis на python (который я знаю хорошо) и go (который я знаю так себе) и вот какие выводы сделал:
- Мне подход показался очень интересным, я точно буду дальше пользоваться. Пока я не платил им денег, но кажется даже без денег на тех бесплатных проектах, что у них есть, можно себя занять на некоторое время
- Это хорошая игрушка для мидлов и выше. Возможно упорный джуниор сможет разобраться, но в этом случае должен очень классно быть прокачан скилл "у меня ничего не работает, но я буду разбираться до победного"
- Мне очень понравилась фича просмотра чужих диффов - особенно для go, с которым я знаком поверхностно - мне было очень интересно посмотреть на разные подходы к решению одной и той-же задачи и что-то утащить себе в копилочку
- Важно не копировать код у других. Я для себя нашел такой вариант - там, где я разбираюсь (python) - пишу сам и смотрю чужие интересные находки. Там, где я разбираюсь не очень (go) - компилирую свой вариант из разных вариантов переписывая под свое чувство прекрасного

В общем выглядит как годный инструмент для тех, кто не хочет застаиваться и особенно прикольно для того, чтобы поразбираться с чем-то новым.
❤‍🔥721
😁9
😁5
😁82
Airflow остаётся самым популярным инструментом для оркестрации дата-пайплайнов с открытым исходным кодом. Но его часто используют неправильно.

По ссылке несколько распространённых ошибок, которые допускают команды DevOps и DE при развёртывании Airflow.
12❤‍🔥11
DE чинит упавший пайплайн

#meme
😁5❤‍🔥2
Если тебе интересно заглянуть под капот Python и узнать, как устроены списки - есть отличная статья, которая начинается с достаточно простого примера и потом плавно погружает в глубины C-шной реализации списков в Python.

Автор статьи серьёзно подошёл к делу: он не только детально всё расписал, но и приложил кучу наглядных иллюстраций.

Даже если ты никогда не программировал на C, тебе будет понятен и интересен материал.

Ссылка на статью, рекомендую ознакомиться — это на самом деле увлекательно 🙂

#python
Please open Telegram to view this post
VIEW IN TELEGRAM
6
И ещё немного про Python.

Полезно тем, кто уже освоил f-строки в Python и использует их для форматирования. Часто ты останавливаешься на чём-то вроде f"string {variable}", но знаешь ли ты, что f-строки скрывают в себе гораздо больше возможностей?

Например, представь, что тебе нужно превратить число в строку, где оно всегда будет занимать три позиции, дополняясь нулями спереди, если это необходимо. С f-строками это сделать проще простого! Если у тебя число 5, ты получишь "005", а если 123, то останется просто "123".

Гайд от PyBites показывает, на что способны f-строки. Если ты ещё не раскрыл для себя все возможности этого удобного инструмента - бегом читать 🙃

Ссылка

А ещё по f-строкам у меня была ссылка на другой хороший материал в посте

#python
Please open Telegram to view this post
VIEW IN TELEGRAM
6
Teable - no-code база данных построенная поверх PostgreSQL.
Она использует простой интерфейс, похожий на электронные таблицы, для создания приложений БД корпоративного уровня.

#db #nocode #teable
4
SQLMesh

SQLMesh - это фреймворк нового поколения для преобразования и моделирования данных, обратно совместимый с dbt. Он отличается простотой использования, корректностью и эффективностью.

SQLMesh позволяет специалистам по работе с данными эффективно запускать и внедрять преобразования данных, написанные на SQL или Python.

Авторы обещают, что SQLMesh сделает твои проекты на базе dbt более эффективными, надёжными и удобными в обслуживании, и это больше, чем просто альтернатива dbt.

#sqlmesh #sql #dbt #db
6
😁14
Очень полезная статья для тех, кто работает с celery. А если вы из мира python, то для отложенных задач не так уж и много альтернатив. Через решение непосредственно задачи отдачи метрик в prom раскрывается внутреннее устройство фреймворка: какие настройки есть, как работают и как их правильно использовать.

https://habr.com/ru/companies/domclick/articles/804535/ #dev #python
4
Мне кажется порою, что солдаты,
С кровавых не пришедшие полей,
Не в землю нашу полегли когда-то,
А превратились в белых журавлей.

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

Летит, летит по небу клин усталый,
Летит в тумане на исходе дня,
И в том строю есть промежуток малый,
Быть может, это место для меня.

Настанет день и с журавлиной стаей
Я поплыву в такой же сизой мгле,
Из-под небес по-птичьи окликая
Всех вас, кого оставил на земле.
7❤‍🔥43😁1
🖼️ SQL генератор - Sqlcode 8b на базе Llama-3

Мощная языковая модель для генерации текста в SQL, которая находится на одном уровне с универсальными моделями.

🔜 Github
🔜 Weights
🔜 Demo

#sql #llm #postgres
Please open Telegram to view this post
VIEW IN TELEGRAM
4❤‍🔥2😁1