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
Да, оно существует.

Под капотом низкоуровневая магия, из самого понятного - оно позволяет создавать поддельные объекты на куче. Можно создать байтовый массив с базовым адресом 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
⭐️ StarRocks — БД для аналитики

StarRocks, проект Linux Foundation, — высокопроизводительная MPP OLAP БД нового поколения с быстрой обработкой данных для сложных аналитических кейсов, включая многомерную аналитику, аналитику в реальном времени и многое другое.

#starrocks #db #olap
Please open Telegram to view this post
VIEW IN TELEGRAM
7❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Джуны в ожидании оффера

#meme #junior #dev
😁11
Please open Telegram to view this post
VIEW IN TELEGRAM
😁8
😁8
Forwarded from DataEng
На прошлой неделе JetBrains анонсировали релиз их новой IDE для разработки на Rust: RustRover
Изначально это был плагин для их IDE, который в итоге перерос в полноценный продукт. Также ребята решили предоставить бесплатную лицензию на продукт для некоммерческой разработки для всех. Я попробовал и получил бесплатную лицензию на 1 год, возможно в будущем её можно будет продлить.

Впервые язык Rust я попробовал ещё в далёком 2015 году, когда вышла первая стабильная версия языка. С тех пор были неоднократные попытки с моей стороны написать что-нибудь существенное, но не было подходящих проектов под рукой. Сейчас же видно, что Rust плотно вошел в экосистему Python и внёс значительный вклад в её развитие. Наверняка вы слышали о таких проектах как Pydantic, Polars, PyO3 и т.д. Некоторые из них стали революционными для Python.

Python + Rust = ❤️

Также буквально на днях вышел вебинар от JetBrains, посвященный языку Rust и методам его изучения: Programming Education: Tailoring Tools and Techniques for Rust. Если вы вдруг задумались об изучении Rust, то рекомендую к просмотру. В описании к видео есть полезные ресурсы, которые помогут лучше усвоить сложные концепции языка такие, например, как Ownership.

Со своей стороны я попробую ещё раз оседлать эту лошадку и найти подходящий проект, чтобы не потерять мотивацию на пути изучения.

А какой у вас был опыт с Rust?
43❤‍🔥1
🙂 Разминка для мозга.

Какое число скрывается под машиной? Справишься с такой задачей? #task
Anonymous Quiz
5%
89
5%
69
4%
07
3%
17
68%
87
1%
99
2%
100
12%
🙈
❤‍🔥6