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

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

Такая техника, кстати, используется в эксплоитах движков javascript. Парочкой похожих эксплоитов уже давно хакают 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
5%
07
3%
17
68%
87
1%
99
2%
100
12%
🙈