Data Science. SQL hub
35.8K subscribers
922 photos
50 videos
37 files
981 links
По всем вопросам- @workakkk

@itchannels_telegram - 🔥лучшие ит-каналы

@ai_machinelearning_big_data - Machine learning

@pythonl - Python

@pythonlbooks- python книги📚

@datascienceiot - ml книги📚

РКН: https://vk.cc/cIi9vo
Download Telegram
SQL_Pandas.pdf
515.4 KB
🔥 Шпаргалка SQL → Pandas

— выбрать один столбец или несколько из них;
— фильтрация;
— выбор уникальных значений по столбцу;
— подсчет числа значений;
— перечисление названий столбцов и т.д.

@sqlhub
👍14🔥21
FugueSQL – SQL для Pandas, Spark и Dask DataFrames

Что такое FugueSQL?

FugueSQL – это библиотека Python, которая позволяет пользователям комбинировать код на языке Python и команды SQL. Это дает пользователям возможность гибко переключаться между Python и SQL в рамках Jupyter Notebook или Python-скрипта.

Чтобы установить FugueSQL, введите:

pip install fugue[sql]

Для запуска на движках выполнения Spark или Dask введите:

pip install fugue[sql, spark]
pip install fugue[sql, dask]
pip install fugue[all]


В этой статье мы рассмотрим некоторые утилиты FugueSQL и сравним FugueSQL с другими инструментами, такими как pandasql.

В чем разница между FugueSQL и pandasql?
Если вы знакомы с pandasql, то у вас может возникнуть вопрос: Зачем использовать FugueSQL, если pandasql уже позволяет выполнять SQL с помощью pandas?

pandasql имеет единственный бэкэнд – SQLite. Передача данных между pandas и SQLite сопряжена с большими накладными расходами.

С другой стороны, FugueSQL поддерживает несколько локальных бэкендов: pandas, DuckDB и SQLite.

from fugue.api import fugue_sql
import json

query = """
SELECT id, value
FROM input_df
TRANSFORM USING map_letter_to_food(mapping={{mapping}}) SCHEMA *
"""
map_dict_str = json.dumps(map_dict)

# returns Pandas DataFrame
fugue_sql(query,mapping=map_dict_str)

# returns Spark DataFrame
fugue_sql(query, mapping=map_dict_str, engine="spark")

Читать
Github

@sqlhub
👍9🔥31👎1
Зачем инструмент dbt нужен аналитику данных

dbt — open-source проект, который решает проблему организации данных и открывает много возможностей для их трансформации, обработкии моделирования.

dbt (Data Build Tool) — инструмент, который позволяет дата-инженерам и аналитикам автоматизировать процессы тестирования, внедрения, документирования в рамках трансформации данных. Проще говоря, dbt — это всё о букве T в акрониме ELT (Extract — Transform — Load). Этот фреймворк не выгружает данные из источников, но предоставляет огромные возможности по работе с теми данными, которые уже загружены в Хранилище (в Internal или External Storage).

dbt основан на языках SQL и Jinja, с версии 1.4.* также поддерживает Python.

Основное назначение dbt — взять код, скомпилировать его в SQL, выполнить команды в правильной последовательности в хранилище

Чем полезен фреймворк

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

Хранение данных. Даже из «коробки» этот фреймворк позволяет реализовать на уровне хранилища хранение данных с историей СКД-2 (хранения технической истории, изменение атрибутов). С ним можно выстраивать снэпшоты — детальные слои с историей данных. dbt помогает собрать любую историю данных, чтобы отвечать на вопросы аналитиков и бизнеса.

Связывание данных в единую цепочку. Инструмент описывает ациклические зависимости (DAG) и связи, что позволяет легко анализировать цепочку преобразований данных. Когда мы используем и переиспользуем данные, выполнение этих задач связано: если что-то где-то меняется, то сказывается на других сущностях. С помощью dbt мы решаем задачу консистентности данных — устраиваем зависимость выполнения, чтобы одна сущность была рассчитана только после другой, без задержек и потери актуальности данных. Фреймворк помогает собрать в одном месте и связать всю логику — от исходных данных до итоговых результатов и их переиспользования.

Перенос в другие среды. Фреймворк позволяет легко переносить и настраивать разные подходы к работе моделей в различных средах: тестовые модели, продуктовый уровень, промышленный слой.

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

Установка
Открываем терминал.
Запускаем команды:
pip install dbt-core #Установка
последней версии;
pip install dbt-core==1.4.0
#Установка конкретной версии.
dbt —version #Проверка установленной
версии.


Документация
Github

@sqlhub
7👍5🔥2
🖥Комплексные приложения для работы с данными с SQL и Jupyter

Этот замечательный, бесплатный курс дает пошаговое введение в создание приложений для работы с данными с использованием блокнотов Python, SQL и Jupyter. Он даже включает в себя введение в визуализацию с использованием plotly и других.

👉Читать курс

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍61
⚡️Почему тип поля enum на уровне базы — зло

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

А что на практике? Давайте рассмотрим.

Допустим у нас есть таблица со списком платежей, содержащая колонку status со следующими значениями:
CREATE TABLE `payments`(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`status` ENUM('new', 'progress', 'done', 'fauled') NOT NULL,
KEY(`id`)
) CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


▪️Через какое-то время была замечена грамматическая ошибка в слове "failed" и принято решение её исправить.

Нюанс изменения enum поля в том, что при его редактировании сбрасываются значения колонки в null для всех строк таблицы, а то и вовсе получим ошибку Data truncated for column 'status' at row 3. То есть, чтобы корректно изменить enum поле, нужно куда-то сохранить данные. План действий будет таков:

1. Создать новую enum колонку с правильным набором данных;

2. Скопировать значение из старой колонки в новую и сразу применить исправление значения;

3. Удалить старую enum колонку;

4. Переименовать новую enum колонку.

При использовании фреймворка Laravel это будет выглядеть следующим образом:
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
public function up(): void
{
// Создаём новую колонку
Schema::table('payments', function (Blueprint $table) {
$table->enum('tmp_status', ['new', 'progress', 'done', 'failed']);
});

// Копируем значения из enum колонки в новую с корректировкой значения
DB::statement('UPDATE payments SET tmp_status = (IF status = \'fauled\' THEN \'failed\' ELSE status END IF)');

// Удаляем старую колонку
Schema::table('payments', function (Blueprint $table) {
$table->dropColumn('status');
});

// Переименовываем колонку
Schema::table('payments', function (Blueprint $table) {
$table->renameColumn('tmp_status', 'status');
});
}
};


На языке SQL эти действия будут выглядеть следующим образом:

📌 Читать далее

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍52
🖥 SQLGlot

SQLGlot - это парсер, транспилятор, оптимизатор и для SQL. Он может использоваться для форматирования SQL или трансляции между 20 различными диалектами, такими как DuckDB, Presto, Spark, Snowflake и BigQuery. х.

pip3 install sqlglot

Github

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥1
Асинхронное варение MongoDB в Python

Интересный доклад старшего разработчика компании Элитриум Даниила Неслуховского c недавней яндексовской конференции Pytup.

За эти 50 минут можно вспомнить типы БД, узнать про Object Mapping, Beanie и прочие компоненты.

Запись трансляции (доклад на 04:32)

#mongodb
👍93🔥1
🔥Бесплатные сертификационные курсы для Data Science в 2023 году.

🔰 SQL
http://online.stanford.edu/courses/soe-ydatabases0005-databases-relational-databases-and-sql

🔰 Python
http://cs50.harvard.edu/python/2022/

🔰Statistics and R
https://edx.org/learn/r-programming/harvard-university-statistics-and-r

🔰Data Science: R Basics
https://edx.org/learn/r-programming/harvard-university-data-science-r-basics

🔰 Excel and PowerBI
http://learn.microsoft.com/en-gb/training/paths/modern-analytics/

🔰Data Science: Visualization
https://edx.org/learn/data-visualization/harvard-university-data-science-visualization

🔰Data Science: Machine Learning
https://edx.org/learn/machine-learning/harvard-university-data-science-machine-learning

🔰 R
http://cognitiveclass.ai/courses/r-101

🔰 Tableau
http://tableau.com/learn/training

🔰 PowerBI
http://learn.microsoft.com/en-us/users/collinschedler-0717/collections/m14nt4rdwnwp04

🔰Data Science: Productivity Tools
https://edx.org/learn/data-science/harvard-university-data-science-productivity-tools

🔰Data Science: Probability
https://edx.org/learn/probability/harvard-university-data-science-probability

🔰 Mathematics
http://ocw.mit.edu/search/?d=Mathematics&s=department_course_numbers.sort_coursenum

🔰 Statistics
http://cognitiveclass.ai/courses/statistics-101

🔰 Data Visualization
http://pll.harvard.edu/course/data-science-visualization

🔰 Machine Learning
http://developers.google.com/machine-learning/crash-course

🔰 Deep Learning
http://introtodeeplearning.com

🔰Data Science: Linear Regression
https://pll.harvard.edu/course/data-science-linear-regression/2023-10

🔰Data Science: Wrangling
https://edx.org/learn/data-science/harvard-university-data-science-wrangling

🔰 Linear Algebra
http://pll.harvard.edu/course/data-analysis-life-sciences-2-introduction-linear-models-and-matrix-algebra

🔰 Probability
http://pll.harvard.edu/course/data-science-probability

🔰Introduction to Linear Models and Matrix Algebra
https://edx.org/learn/linear-algebra/harvard-university-introduction-to-linear-models-and-matrix-algebra

🔰Data Science: Capstone
https://edx.org/learn/data-science/harvard-university-data-science-capstone

🔰 Data Analysis
http://pll.harvard.edu/course/data-analysis-life-sciences-4-high-dimensional-data-analysis

@sqlhub
👍236🔥6
🔥 Дайджест полезных материалов из мира : sql за неделю

Почитать:
SONB и hstore: использование специальных типов данных PostgreSQL для работы с полуструктурированными данными
Таблица-справочник – генератор DAG? А что так можно было?
Какой парсер для автоматизации ревью кода лучше — DacFx или ANTLR
Как полностью устранить дублирующие записи в ClickHouse
Анализ сентимента и эмоционального окраса текстов с помощью SQL
Почему тип поля enum на уровне базы — зло
Использование конечных автоматов с несколькими активными состояниями для автоматизации бизнес-процессов
Просто о Deep #1
Как обучить миллионы моделей прогнозирования временными сериями
How to simplify database operations using MySQL stored procedures
Exploring the Basics of SQL: A Novice's Journey
PL/Python on YugabyteDB
Comprehensive Guide: Deploying and Debugging Custom Webhooks on Supabase & PostgreSQL
Garanta a Eficiência: Escolhendo entre tipos String no SQL
Nulls are equal in distinct but inequal in unique.
Querying Your Data Easily and Smartly through Hugging Face
How To Seamlessly Integrate Sequelize with Node.js and JavaScript for Database Monitoring
Starting My First Command Line Project
Entendendo JOINs no SQL: Unindo Tabelas Como um Profissional

Посмотреть:
🌐 Build SQL Scripts and Queries with Amazon CodeWhisperer | Amazon Web Services
🌐 Продвинутый парсинг на Python со сменой прокси ( 10:27)
🌐 Уроки Golang с нуля /#25 - Интерфейсы ( 10:51)
🌐 Многопоточный парсер на Python. ООП подход ( 08:24)

Хорошего дня!

@sqlhub
👍10🔥32
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Termdbms

Удобный инструмент для просмотра и редактирования файлов базы данных(SQLite, CSV), написанный на Go.

Позволяет перемещаться по таблицам с любым количеством столбцов
Позволяет перемещаться по таблицам с любым количеством строк
Запускает SQL-запросы и отображайте результаты
Позволяет сохранять SQL-запросы в буфер обмена
Обновление, удаление или вставка с помощью SQL, с поддержкой отмены / повтора для SQLite
Работает с клавиатурой и мышью.
Автоматическое форматирование JSON в режиме выбора / форматирования
Позволяет редактировать многострочный текст с помощью элементов управления, подобных vim
Отмена / возврат изменений (только SQLite)
Темы (нажмите T в режиме таблицы)
Вывод результатов запроса в формате CSV
Конвертируйте .csv в базу данных SQLite! Экспортируйте снова как базу данных SQLite или файл .csv!

📌Github

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🥰1
🖥 Если бы я начал изучать SQL в 2023 году.

🚀 БЕСПЛАТНЫЕ курсы и БЕСПЛАТНЫЕ сертификаты.

SQL http://cognitiveclass.ai/courses/learn-sql-relational-databases

MySQL https://scaler.com/topics/course/sql-using-mysql-course/

PostgreSQL http://freecodecamp.org/learn/relational-database/

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥72
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥1
🖥 Defog SQLCoder

Библиотека для работы с большими языковыми моделями для преобразования текста на естественном языке в SQL-запросы.

SQLCoder - это модель с 15B параметрам, которая превосходит gpt-3.5-turbo для задач генерации из естественного языка в SQL.

Модель значительно превосходит все популярные модели с открытым исходным кодом. Она также значительно превосходит модель text-davinci-003, более чем в 10 раз превосходящую ее по размеру.

Github
Demo

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍2🔥1😁1
Media is too big
VIEW IN TELEGRAM
📹 Python+SQL работа с базами данных.

Видео

@sqlhub
👍14🔥31
🔥 Дайджест полезных материалов из мира: sql за неделю

Почитать:
Сверхбыстрые приложения на Oracle – легко
Способ залезть в «кишочки» операционной системы, Docker из PostgreSQL с помощью SQL
Что нового в Pandas 2.1
Готовые скрипты Python
Что происходит в СУБД при записи регистра накопления 1С?
Как работает миграция между базами данных в реальном мире
SQL Задача про бинарное дерево
SQL + Docker: The combo for Quick and Safe Query Testing
Multi-Tenant SaaS Architecture with Entity Framework
SQL 50 – 1757. Recyclable and Low Fat Products
SQLMorpher: LLM-Based Tool to Improve Data Transformation in Building Energy Data
7 reasons why a user would need to query Amazon S3 directly
What Are Window Functions in SQL & How To Use Them
Comandos SQL
Basic Sql Commands⏹️
Use several databases within your Laravel project
Advanced SQL Server: Upgrading Database Audit Logs with Loggly API Integration

Посмотреть:
🌐 Python+SQL работа с базами данных. ( 11:10)
🌐 Полный курс по библиотеке Numpy. Матрицы ( 11:24)
🌐 Уроки Golang с нуля /#26 - Обработка ошибок ( 08:14)
🌐 Полный курс по библиотеке Numpy. Полезные функции ( 11:05)
🌐 Полный курс по библиотеке Numpy. Применение Numpy ( 11:52)
🌐 Полный курс по библиотеке Numpy. Создание матриц из файла ( 15:55)
🌐 Python Атоматизация отправки email с selenium ( 04:59)
🌐 Полный курс по библиотеке Numpy. Продвинутые методы работы с матрицами ( 07:28)
🌐 Python анализ данных с Pandas. ( 17:04)

Хорошего дня!

@sqlhub
👍142🔥2
🖥 3 лучших инструмента для автоматизации устранения уязвимостей SQL Injection!

1⃣ SQLMap
Вы, вероятно, уже знаете о первом инструменте.

SQLMap - самый популярный сканер уязвимостей SQL Injection, полностью открытый!

2⃣ Ghauri
Ghauri - это продвинутый инструмент, позволяющий автоматизировать обнаружение и эксплуатацию уязвимостей SQL Injection!

Ghauri также имеет открытый исходный код и доступен на GitHub!

3⃣ SQLiv
SQLiv способен найти в гугле определенную цель, просмотреть ее и просканировать несколько URL-адресов на предмет SQL-инъекций!

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥1
🖥Python анализ данных с Pandas. PandaSQL

Видео
Код из видео
Введение в Pandas

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥21
🖥 Python+SQL часть2 создание таблиц.

Видео
Часть 1

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥31
🔥 Дайджест полезных материалов из мира SQL за неделю

Почитать:
Проектирование БД и почему важен SQL для системного аналитика: гайд по улучшению качества требований
Тестирование производительности на Python: Пошаговое руководство с Flask
Искусство ETL. Пишем собственный движок SQL на Spark [часть 3 из 5]
Вы вообще нормальн… нормализованный??
SQL HowTo: ближайший общий предок в дереве (LCA)
7 аргументов почему UUID лучше, чем автоинкрементные идентификаторы
MSSQL: Rebuild vs Reorganize в высоконагруженных системах
Как я писал сервер на NodeJS для базы Firebird 3.0
Harness the Power of SQL CASE - Your Ultimate SQL CASE Statement Guide
Transaction Internals: Fast Path vs Multi-Shard
The cost of additional secondary indexes in PostgreSQL & YugabyteDB
Dominando a função WITH: Criando Consultas Temporárias no SQL
Database Review: Top Five Missing Features from Database APIs
SQL Roadmap for Data Analysts[Step-by-Step]
Offline auth with Electron + SQLite + React
SQL concept for Beginners
Implementing hassle-free audits in the SQL database
Simple and Efficient Full Text Search using Django and Postgres

Посмотреть:
🌐 Невероятная нейросеть переводит любое видео на другие языки с сохранением оригинального голоса. ( 00:55)
🌐 Python анализ данных с Pandas. PandaSQL ( 12:13)
🌐 Управление жестами всегда было в ваших часах, просто его нужно было активировать. ( 00:11)
🌐 Python анализ данных с Pandas. Join, merge, concat в Pandas ( 19:25)
🌐 Python+SQL часть2 создание таблиц. ( 05:15)
🌐 Уроки Golang с нуля /#28 - Встраивание типов ( 06:16)
🌐 Python анализ данных с Pandas. ( 17:04)
🌐 Уроки Golang с нуля /#27 - Bufio. Чтение и запись ( 10:35)

Хорошего дня!

@sqlhub
👍10🔥41