DE – Telegram
522 subscribers
312 photos
81 videos
15 files
405 links
Data Engineering Technologies.
SQL, Python, Kafka, Spark, Pandas, Airflow, Clickhouse, Greenplum, Postgres, dbt, LLM agentic systems, AI, robots, drones etc.

Boost channel - https://news.1rj.ru/str/boost/data_engi
Download Telegram
Очень полезная статья для тех, кто работает с 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
🙂 Разминка для мозга.

Справишься с такой задачей?

#task
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7
⚙️ Если механизм начнет работать, коробка откроется или закроется?
Final Results
22%
Закроется 🙃
78%
Откроется 🙂
❤‍🔥6
❤‍🔥5
😁10
Да, оно существует.

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

Такая техника, кстати, используется в эксплоитах движков javanoscript. Парочкой похожих эксплоитов уже давно хакают PS4.
5❤‍🔥1
🖼️ PostgREST — RESTful API для Postgres БД

PostgREST - это автономный веб-сервер, который напрямую преобразует твою БД PostgreSQL в RESTful API. Структурные ограничения и разрешения в БД определяют эндпоинты и операции API.

👩‍💻 Github
🟡 Docs

#postgres #api
Please open Telegram to view this post
VIEW IN TELEGRAM
8❤‍🔥1
🖼️ pg_lakehouse - расширение, которое преобразует Postgres в механизм аналитических запросов для объектных хранилищ, таких как S3, и табличных форматов, таких как Delta Lake. Запросы передаются в Apache DataFusion, который обеспечивает отличную аналитическую производительность.

#postgres #db #s3
Please open Telegram to view this post
VIEW IN TELEGRAM
6❤‍🔥2😁1
🖼️ Выбор векторной БД

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

Chroma - это векторная база данных с открытым исходным кодом, предназначенная для предоставления разработчикам и организациям любого размера ресурсов, необходимых для создания приложений на основе больших языковых моделей (LLM). Она предоставляет разработчикам масштабируемое и эффективное решение для хранения, поиска и извлечения многомерных векторов.
Одной из причин популярности Chroma является её гибкость.

Pinecone - это облачная управляемая векторная база данных. Широкая поддержка многомерных векторов делает Pinecone подходящим для различных областей применения, включая поиск по сходству, рекомендательные системы, персонализацию и семантический поиск. Он также поддерживает одноступенчатую фильтрацию. А её способность анализировать данные в режиме реального времени делает её отличным выбором для обнаружения угроз и мониторинга атак на систему кибербезопасности.

Weviate - примечательной особенностью этой базы данных является то, что её можно использовать для хранения как векторов, так и объектов. Это делает её подходящей для приложений, сочетающих в себе несколько методов поиска, таких как векторный поиск и поиск по ключевым словам.

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

#db #vector
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥8
😁10
SQLGlot - это SQL-парсер, транспилятор, оптимизатор и движок без зависимостей. Его можно использовать для форматирования SQL или перевода между 21 различным диалектом, таким как DuckDB, Presto / Trino, Spark / Databricks, Snowflake и BigQuery. Он предназначен для чтения различных SQL-вводов и вывода синтаксически и семантически корректного SQL в целевых диалектах.

Это очень универсальный общий SQL-парсер с надёжным набором тестов. Он также достаточно производительный, несмотря на то, что написан исключительно на Python.

Ты можешь легко настраивать парсер, анализировать запросы, обходить деревья выражений и программно строить SQL.

Синтаксические ошибки подсвечиваются, а несовместимости диалектов могут выдавать предупреждения или рэйзить ошибки в зависимости от конфига. Однако SQLGlot не претендует на роль валидатора SQL, поэтому он может пропустить некоторые синтаксические ошибки.

Больше примеров по ссылке
Документация

#sql #parser #python
6❤‍🔥22
😁7
https://stamina.hynek.me/en/latest/tutorial.html

Нашел интересный проект от известного спикера и opensource деятеля Hynek Schlawack

Если вам надоело в очередной раз объяснять новичкам как правильно конфигурировать tenacity, то рекомендую присмотреться. Апи выглядит максимально просто и понятно, при этом есть интеграция со structlog и метриками для prometheus.

Можно использовать как декоратор (асинк поддерживается из коробки)
@stamina.retry(
on=httpx.HTTPError, attempts=3, timeout=dt.timedelta(seconds=10)
)
async def do_it_async(code: int) -> httpx.Response: ...


Можно как контекстный менеджер с возможностью получить доступ к счетчику попыток
for attempt in stamina.retry_context(on=httpx.HTTPError):
with attempt:
resp = httpx.get(f"https://httpbin.org/status/404")
resp.raise_for_status()


А вообще интересно, что для ретраев сейчас модно использовать?
4❤‍🔥2
🦆

DuckDB: Простота работы с CSV файлами

Традиционные базы данных требуют предварительно определённой схемы таблицы и не поддерживают работу с CSV файлами без предварительной обработки. DuckDB решает эту проблему, позволяя напрямую считывать файлы CSV. Это устраняет необходимость в явном создании таблицы и загрузке данных, значительно упрощая процесс работы с данными.

👩‍💻 Github

#db #postgres #duckdb
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6
😁9
🧐
Небольшая подборка не очень популярных, но полезных библиотек для анализа данных

PySheets - предоставляет пользовательский интерфейс для работы с электронными таблицами на Python.
Используй Pandas, создавай диаграммы, импортируй таблицы Excel, анализируй данные и создавай отчеты.

py2wasm - преобразует программы и данные на Python в WebAssembly и запускает их в ~3 раза быстрее.

databonsai - библиотека на Python, которая использует LLM для задач очистки данных, таких как категоризация, преобразование и извлечение.

#py #python #dev
Please open Telegram to view this post
VIEW IN TELEGRAM
6❤‍🔥32
This media is not supported in your browser
VIEW IN TELEGRAM
Разработчики LLM 🤖 меряются силами, сравнивая свои лучшие модели на арене чат-ботов LMSYS.

Автор визуализации представил результаты таких соревнований.

#ai #llm
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5