Анализ данных (Data analysis)
50.4K subscribers
3.47K photos
428 videos
1 file
2.84K links
Data science, наука о данных.

@haarrp - админ

РКН: clck.ru/3FmyAp
Download Telegram
Immudb – самая быстрая в мире неизменная база данных, построенная на модели нулевого доверия

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

#GitHub | #SQL #Data

@data_analysis_ml
👍19
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 В больших проектах #SQL-запросы могут становиться сложными.

Документирование помогает прояснить функциональность каждого запроса для других членов команды.

С помощью #dbt вы можете легко документировать свои запросы с помощью команды 𝐝𝐛𝐭 𝐝𝐨𝐜𝐬 𝐠𝐞𝐧𝐞𝐫𝐚𝐭𝐞.

📌 Что такое dbt
📌 Больше примеров

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍103🔥2👎1
🖥 SQL-metadata

Если вы хотите извлечь определенные компоненты #SQL-запроса для последующей работы с нмим на #Python, используйте sql_metdata.

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

Также предоставляет полезные функции для нормализации SQL-запросов.

pip install sql-metadata

Github
Docs

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍135🔥3
💡 Во время работы с таблицами в Spark возникают ситуации, когда для обработки данных набора встроенных функций оказывается недостаточно.

В этом случае можно выгрузить таблицу в Pandas DataFrame и обрабатывать данные на Python привычными функциями. Однако, есть способ сделать это быстрее – UDF-функции в Spark.

UDF (User Defined Functions)
– это функции, которые не содержатся во встроенных модулях Spark и определяются самим пользователем. UDF позволяют расширить возможности обработки данных и могут содержать в себе комбинацию встроенных функций.

Использование UDFS в PySpark может помочь упростить выполнение сложных запросов #SQL, за счет запуска сложных операций в одном вызове функции.

В приведенном примере кода мы определяем UDF с именем modify_name, эта функция приводит все имена в нашей таблице к верхнему регистру.

📌 Подробнее о UDF

@data_analysis_ml
👍155❤‍🔥2🔥2🥰1
🖥 dbt-core

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

С помощью dbt вы можете использовать функцию ref, чтобы разбить длинный SQL-запросы на более мелкие компоненты, делая их более читаемыми и удобными для обслуживания.


-- models/total_order_amount.sql
SELECT
order_id,
customer_id,
SUM(order_amount) AS total_amount
FROM
raw_orders
GROUP BY order_id, customer_id


models/average_order_amount.sql:


-- models/average_order_amount.sql
SELECT
customer_id,
AVG(total_amount) AS avg_amount
FROM {{ ref('total_order_amount') }}
GROUP BY customer_id



Github

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
👍217🔥5🍌1
Forwarded from Python/ django
⚡️ QueryTuner - open-source инструмент, который разбирает SQL-запрос и показывает, почему он может тормозить.

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

Поддерживаются сразу 5 диалектов:

- PostgreSQL
- MySQL
- Oracle
- SQL Server
- SQLite

Внутри два уровня анализа.

1. Детерминированный heuristic engine

Он мгновенно ищет типичные anti-patterns:

- SELECT *
- функции внутри WHERE
- leading wildcard в LIKE
- потенциально отсутствующие индексы
- ORDER BY без ограничения результата
- другие проблемы производительности

Сейчас заявлено 12 правил, и для них не нужны ни LLM, ни внешний API.
2. Опциональный AI-слой

Можно подключить Qwen через Hugging Face или OpenAI. Тогда QueryTuner умеет:

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

Особенно интересно, что можно передать ещё и CREATE TABLE DDL. Тогда рекомендации становятся schema-aware: инструмент видит реальные таблицы, колонки и существующие индексы.

Например, для такого запроса:


SELECT *
FROM orders
WHERE YEAR(created_at) = 2026;


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

#SQL #PostgreSQL #Database #OpenSource #DataEngineering

https://github.com/AutoShiftOps/querytuner
👍65