36043
По всем вопросам- @workakkk @itchannels_telegram - 🔥лучшие ит-каналы @ai_machinelearning_big_data - Machine learning @pythonl - Python @pythonlbooks- python книги📚 @datascienceiot - ml книги📚 РКН: https://vk.cc/cIi9vo
🐼 Используйте векторные операции #pandas вместо того, чтобы выполнять операции над каждым столбцом по отдельности.
Это позволяет использовать оптимизированную реализацию pandas на языке C для повышения производительности, особенно при работе с большими массивами данных.
@sqlhub
💥 15 примеров задач по SQL на собеседовании по вакансии системного аналитика
Если вы читаете этот материал, скорее всего, вы рассматриваете перспективы карьерного роста в области системного анализа, и возможно, готовитесь к собеседованию.
Важным аспектом работы системного аналитика является умение эффективно работать с базами данных, и SQL — это ключевой инструмент для этого. Будьте готовы, что на техническом собеседовании вас могут попросить назвать операторы SQL, написать запросы для извлечения, обновления или удаления данных, создания новых таблиц и многого другого. Давайте посмотрим на некоторые примеры таких заданий.
📌 Читать дальше
@sqlhub
🖥 Solid Core Database System
scdb - это легкий и быстрый механизм хранения данных типа "ключ-значение", отличающийся простотой и скоростью работы, написанная на Go.
Инструмент создан по образцу архитектуры хранения Bitcask, известной своей эффективностью при операциях записи.
▪Основной принцип построения scdb (и Bitcask) основан на файловых системах с лог-структурой. При таком подходе все изменения добавляются в конец журнала, что делает запись исключительно быстрой, поскольку она осуществляется последовательно. Такая конструкция не только обеспечивает быстродействие, но и гарантирует целостность данных: даже в случае сбоя системы можно легко восстановить данные благодаря этому методу, основанному только на приложении.
▪Кроме того, в scdb реализован процесс, известный как объединение файлов журнала. Со временем, когда ваше приложение записывает все больше данных, количество файлов журнала естественным образом увеличивается. Объединение лог-файлов - это техника, которая объединяет файлы для предотвращения фрагментации и поддержания производительности. Это похоже на домашнюю уборку, обеспечивающую организованность и эффективность хранения данных.
▪Таким образом, если вы разрабатываете приложение, требующее быстрой записи данных и простого, но надежного решения для хранения данных, scdb может оказаться именно тем механизмом, который вы ищете. Он создан для того, чтобы обеспечить разработчикам, подобным вам, удобство хранения и извлечения пар ключ-значение.
🖥 Github
@sqlhub
🔥 Дайджест полезных материалов из мира SQL за неделю
Почитать:
— Проблемы при переходе с MS SQL на PostgreSQL. Типы данных
— Лучшие ресурсы чтобы выучить Git и Github
— Деревья ltree в PostgreSQL – простым языком
— Пишем свой QTableView (продолжение: кастомные стили)
— Row Level Security with an ARRAY of tenants set in session parameter
— What the pluck?
— Partition Strategies: Fundamental Concepts for PostgreSQL Partitioning
— WEREWOLF WEED
— Deploying Adminer on Google App Engine (GAE) with Private and Public IP Connectivity
— O problema de SQL que quase me enlouqueceu
— The Benefits of Hiring a Professional Website Development Company in Bangalore
— Implicit vs. explicit JOINs
— A simple example of a nested SQL query
Посмотреть:
🌐 Пишем генератор Shorts видео на Python для заработка на YouTube. (⏱ 11:50)
🌐 Озвучка и генерации контента с помощью #Python и AI (⏱ 00:44)
🌐 Замена лица на любой фотографии с помощью #python БЕСПЛАТНО! (⏱ 00:59)
Хорошего дня!
#sql #digest
@sqlhub
🖥 Хотите получить N процентов строк из вашей таблицы?
Вы можете сделать это в SQL с помощью:SELECT * FROM ...
ORDER BY ...
FETCH FIRST 10 PERCENT ROWS ONLY
@sqlhub
🖥 Если вы работаете в области данных, вам предстоит пройти собеседование по SQL.
Неважно, кто вы - специалист по машинному обучению или инженер по обработке данных.
SQL присутствует везде.
Вот несколько кратких советов от начинающих до продвинутых, которые вы должны знать и уметь говорить на собеседовании по SQL.
Начинающим
- Уметь объяснить различные типы объединений. Иногда я видел, что этот вопрос задается рекрутерами в качестве отборочного, чтобы убедиться, что они хотят взять вас на работу.
- Знать, когда в порядке выполнения операций в SQL используется HAVING, а когда WHERE.
- Знать разницу между UNION и UNION ALL
Mid
- Понимать, как использовать оператор CASE внутри функции SUM или COUNT
- Знать, по крайней мере, 1-2 способа оптимизации запроса, и если вы решите, что одним из этих способов является создание индекса в таблице, то вы должны знать, какие плюсы и минусы есть у индекса.
- Уметь реализовать как подзапрос, так и CTE, но использовать CTE, если вы хотите доказать, что у вас хорошие навыки работы с SQL.
Продвинутый
- Знать, как решить SQL задачу с использованием оконной функции и без нее.
- Понимать и уметь объяснить, что такое коррелированный подзапрос.
- Просто сошлитесь на то, что вы посмотрите на план выполнения запроса. Рекрутеры будут шокированы тем, что вы вообще знаете, что это такое.
Мне бы хотелось услышать, какие вопросы вам задавали на собеседованиях по SQL. Пожалуйста, поделитесь ими в комментаряих!
@sqlhub
🖥 Почему PostgreSQL признан самым лбимой бд по результатам опроса разработчиков Stackoverflow?
На диаграмме показано множество вариантов использования PostgreSQL - одной базы данных, которая включает в себя почти все функции необходимых разработчикам.
🔹OLTP (Online Transaction Processing)
Мы можем использовать PostgreSQL для CRUD-операций (Create-Read-Update-Delete).
🔹OLAP (Online Analytical Processing)
Мы можем использовать PostgreSQL для аналитической обработки. PostgreSQL основан на архитектуре 𝐇𝐓𝐀𝐏 (Hybrid transactional/analytical processing), поэтому он может хорошо работать как с OLTP, так и с OLAP.
🔹FDW (Foreign Data Wrapper)
FDW - это расширение, доступное в PostgreSQL, которое позволяет нам обращаться к таблице или схеме одной базы данных из другой.
🔹Streaming
PipelineDB - это расширение PostgreSQL для высокопроизводительной агрегации временных рядов, предназначенное для работы с отчетами и аналитическими приложениями в реальном времени.
🔹Geospatial
PostGIS - это расширитель базы данных для объектно-реляционной базы данных PostgreSQL. Он добавляет поддержку географических объектов, позволяя выполнять запросы на определение местоположения в SQL.
🔹Временные ряды
Timescale расширяет PostgreSQL для работы с временными рядами и аналитикой. Например, разработчики могут объединять непрерывные потоки финансовых и тиковых данных с другими бизнес-данными для создания новых приложений и получения уникальных знаний.
🔹Распределенные таблицы
CitusData масштабирует Postgres за счет распределения данных и запросов.
Какая база данных вам нравится больше всего?
@sqlhub
🔥 Дайджест полезных материалов из мира SQL за неделю
Почитать:
— Как жесткую программную систему превратить в гибкую или Двадцать лет спустя
— Многомерный анализ данных: исследование многомерных кубов и SQL OLAP-запросов
— SQL-инъекция: разбор уязвимости на примере
— Иерархическая база данных (продолжение)
— Как расширить компетенции аналитиков при работе с Big Data
— Иерархическая база данных
— XGBoost – один из наиболее эффективных алгоритмов прогнозирования временных рядов.
— PostgreSQL Antipatterns: ходим по JSON-граблям
— SQLx: raw SQL в Rust
— Explorando el Mundo de los Archivos de Recurso en C# con Visual Studio
— Easily Generate Mock Data with PostgreSQL
— Why 0 is better than NULL sometimes
— Monolithic vs. Distributed SQL
— 🚛 Deploy Database Schema Migrations with Bytebase
— Comparing Types of Databases: A Real-World Benchmark Analysis
— [SQL Performance Killers] Individual inserts vs. Bulk inserts
— SQL Server - Types of System Databases and Tables
— Postgres. How to check the top queries that use temporary files?
— PostgreSQL. How to list the most IOPs-intensive queries?
Посмотреть:
🌐 STL C++ стандартная библиотека (⏱ 00:57)
🌐 deque разбор в С++ (⏱ 00:58)
🌐 Последовательные контейнеры c++ List (⏱ 00:47)
🌐 Совет Python разработчикам - реши задачу Chain sum с реального собеседования. (⏱ 14:23)
🌐 Нейросеть для превращения #YouTube видео в презентацию (⏱ 00:28)
🌐 🔥 NVIDIA только что сделала Pandas в 150 раз быстрее без изменений кода. #python (⏱ 00:20)
🌐 The Only Database Abstraction You Need | Prime Reacts
Хорошего дня!
@sqlhub
🐘 Индексирование - важный процесс в PostgreSQL.
Он включает в себя создание структур данных, оптимизированных для эффективного поиска и извлечения данных из таблиц.
В этом руководстве показывается на примерах некоторые продвинутые стратегии индексирования в Postgres.
🖥 Читать
@sqlhub
🖥 TRUNCATE мгновенно удаляет все строки в таблице
Одновременно удалите строки из дочерних таблиц с помощью функцииTRUNCATE TABLE ... CASCADE
Для этого внешние ключи должны быть ON DELETE CASCADE
#SQLAlchemy
@sqlhub
🔥 Дайджест полезных материалов из мира SQL за неделю
Почитать:
— Как расширить компетенции аналитиков при работе с Big Data
— Иерархическая база данных
— PostgreSQL Antipatterns: ходим по JSON-граблям
— SQLx: raw SQL в Rust
— @DynamicUpdate with column-level locking in YugabyteDB and how to avoid write skew anomalies
— MASTERING MYSQL
— Foreign Key validation in YugabyteDB when created in NOT VALID
— Snowflake SQL Unique Functions
— Recommendation Engines with Graph Databases using Apache AGE
— My Takeaways from "How Query Engines Work"
— Postgres: DB parameters configuration on the level of User / Database
— How to prevent database problems from hitting production?
— Postgres Order By: the resultset is sorted differently
— 1075. Project Employees I
Посмотреть:
🌐 Python и базы данных
🌐 Задача с реального Python собеседования middle разработчика. Рекурсивная сумма. (⏱ 13:00)
🌐 Определение диабета при помощи машинного обучения в 60 строк кода! (⏱ 12:54)
🌐 Что такое vector в c++ (⏱ 00:51)
🌐 STL C++ стандартная библиотека (⏱ 00:57)
🌐 deque разбор в С++ (⏱ 00:58)
🌐 Нейросеть для превращения #YouTube видео в презентацию (⏱ 00:28)
🌐 SQL for beginners in 60 minutes | Learn SQL | SQL Tutorial for Beginners | Edureka
Хорошего дня!
@sqlhub
🐍Как Snowflake повышает эффективность dbt-моделей на Python
dbt — это инструмент, помогающий управлять всеми трансформациями данных, которые выполняются в базах данных с использованием SQL.
Допустим, у вас есть таблица с общим числом клиентских заказов, и нужно подсчитать, сколько из них пришлось на праздничные дни. Выполнить эту задачу можно с помощью двух SQL-запросов.
1. Добавить столбец is_holiday в таблицу sf100_orders, объединив ее с all_holidays. Назвать полученную таблицу sf100_orders_annotated.
2. Подсчитать строки, для которых is_holiday=true в таблице sf100_orders_annotated.
Эти два шага объединяют исходные данные, визуализированные с помощью dbt: в изображении.
Производный граф: из двух исходных таблиц составляется таблица count_holidays
Используя dbt, можно записать эти две трансформации в виде “dbt-моделей”, которые представляют собой файлы, содержащие SQL и некоторую конфигурацию dbt (при необходимости):-- sf100_orders_annotated.sql
{{ config(materialized='table') }}
select a.*, b.date is not null is_holiday
from {{ref('sf100_orders')}} a
left join {{ref('all_holidays')}} b
on a.o_orderdate = b.date
-- count_holidays.sql
{{config(materialized='table')}}
select count(*) total_days
, count_if(is_holiday) holiday_count
, holiday_count/total_days ratio
from {{ref('sf100_orders_annotated')}}
Эти два файла выглядят как типичный SQL, но с некоторым отличием. Вместо ссылок на таблицы dbt позволяет ссылаться на другие “модели” с помощью аннотаций {{ref(‘sf100_orders_annotated’)}}. Таким образом, dbt определяет связь и зависимости между всеми трансформациями, через которые проходят данные.
📌 Продолжение
@sqlhub
🖥 Pipelined Relational Query Language (PRQL)
PRQL - это современный язык для преобразования данных, который меняет обращение к базе данных на логически выстроенный пайплайн (конвейер).
Как и SQL, он легко читается, является явным и декларативным. Но в отличие от SQL, он формирует логический пайплайн преобразований и поддерживает такие абстракции, как переменные и функции. Он может использоваться с любой базой данных, использующей SQL.from tracks
filter artist == "Bob Marley" # Each line transforms the previous result
aggregate { # `aggregate` reduces each column to a value
plays = sum plays,
longest = max length,
shortest = min length, # Trailing commas are allowed
}
• Github
@sqlhub
🖥 🖥SQLiDetector
Python-скрипт, позволяющий обнаружить SQL-инъекции путем отправки нескольких запросов и проверки regex-шаблонами для различных баз данных.
• Github
@sqlhub
🦾 Вектореные базы данных
Вектор - это массив чисел, выражающий положение точки в пространстве по нескольким измерениям.
Как векторы связаны с эмбедингами?
В машинном обучении эмбединги - это векторы, представляющие такие точки данных, как слова, предложения, изображения и т.д.
Как работает векторная база данных?
Векторная база данных хранит эмбединги для различных точек данных, таких как документы, изображения, продукты и т.д. Она сопоставляет эти эмбединги с исходными данными.
Как векторные базы данных используются в ИИ?
Векторные базы данных имеют несколько ключевых направлений использования в ИИ:
- Семантический поиск - поиск информации на основе смысла.
- Большие языковые модели - понимание слов в контексте для генерации и обобщения информации.
- Обнаружение аномалий - выявление аномальных точек данных.
- Классификация изображений - категоризация изображений на основе визуальных свойств.
Weaviate - это векторная база данных с открытым исходным кодом, которая хранит как объекты, так и векторы, позволяя сочетать векторный поиск и структурированную фильтрацию с отказоустойчивостью и масштабируемостью облачной нативной базы данных, доступной через GraphQL, REST и различные языковые клиенты.
📌 Github
@sqlhub
SQLite: База данных, на которой работают миллиарды устройств
Если вы когда-либо пользовались смартфоном, просматривали веб-страницы или взаимодействовали с цифровыми устройствами, то, скорее всего, вам приходилось работать с SQLite.
SQLite незаметно питает наш цифровой мир. Впервые выпущенный в 2000 г., этот компактный механизм баз данных сегодня используется в миллиардах приложений, браузеров, операционных систем и устройств.
Что же делает SQLite столь широко используемым? Несколько ключевых качеств:
☑️ Компактность и самодостаточность.
- Вся библиотека представляет собой один файл размером от 750 КБ с нулевыми зависимостями
- Встраивается непосредственно в хост-приложение вместо клиент-серверной установки
☑️ Портативность и долговечность
- Кроссплатформенный формат файлов работает на любой архитектуре
☑️ Быстрота и надежность
- Поддерживает десятки тысяч транзакций в секунду
☑️ Простота использования
- Простой, стабильный API на языке C, не требующий настройки
- Проверено более чем 20 годами использования в различных приложениях.
Результат? SQLite сегодня используется в миллиардах устройств. 🤯
Устройства на базе iOS и Android, браузеры Chrome, Safari и Firefox, языки программирования Python и PHP - SQLite присутствует везде!
Благодаря своей универсальности и вездесущности SQLite за прошедшие годы нашла свое применение в самых неожиданных приложениях.
Какие самые необычные варианты использования SQLite вы видели или слышали?
@sqlhub
🖥 Как базы данных выполняют SQL-запросы?
Процесс выполнения SQL-запросов в базе данных включает в себя несколько компонентов, взаимодействующих между собой. Хотя конкретная архитектура различных систем баз данных может отличаться, ниже описана общая последовательность действий.
1. Оператор SQL запускается в клиентской программе и передается по сети на сервер базы данных.
2. Когда сервер базы данных получает SQL-оператор, реляционный движок начинает его обработку. Сначала синтаксический анализатор проверяет правильность оператора. Затем он преобразует оператор в дерево запросов, которое представляет собой внутреннюю структуру данных.
3. Оптимизатор запросов просматривает дерево запросов и определяет наиболее эффективный способ выполнения SQL-оператора, создавая план выполнения.
4. План выполнения передается исполнителю запроса, который использует его для координации получения или изменения данных в соответствии с запросом SQL. Для доступа к данным исполнитель взаимодействует с движком хранилища.
5. Движок хранилища использует методы доступа - протоколы чтения и записи данных, наиболее эффективные для выполнения различных операций.
6. При чтении данных менеджер буферов проверяет, кэшированы ли нужные данные в памяти, и при необходимости извлекает их с диска. Это ускоряет последующий доступ.
7. При записи данных со вставкой или обновлением менеджер транзакций следит за тем, чтобы изменения происходили атомарно и сохраняли целостность базы данных.
8. В то же время менеджер блокировок накладывает блокировки, чтобы несколько транзакций могли выполняться одновременно, не конфликтуя между собой. Таким образом, обеспечивается изоляция и согласованность.
Работая вместе, эти компоненты обеспечивают надежную и эффективную обработку SQL-запросов в системе управления базами данных.
@sqlhub
📘 Большой, профессиональный перевод документации PostgreSQL на русском с примера кода и запросов
▪Подробный гайд от установки и настройки
▪Основы и темы и синтаксиса языка SQL
▪Все виды запросов, типы данных, функции и операторы
▪Преобразование типов, индексы и многое другое
📌 Документация@sqlhub
«Консервируем» данные: модули pickle и dill
Сериализация данных – это преобразование данных, обрабатываемых в программе (структур и объектов) в форматы, которые можно хранить и передавать.
Задача состоит в том, чтобы можно было в дальнейшем воссоздать точную копию сохранённых данных, не утратив какую-либо информацию. В python есть разнообразные способы сделать это, некоторые их которых я и приведу в этом посте.
Сериализация данных с помощью pickle
Рассмотрю для начала стандартную библиотеку pickle. Библиотека работает с двоичными потоками данных, как в файл, так и по сети. Открыв один поток можно последовательно добавлять в него данные, при этом повторное добавление данных не приводит к их задвоению в итоговом файле, так как модуль pickle хранит историю.
В общем случае, сохранение и загрузка с использованием модуля pickle выглядит так:import pickle
with open('pickle_dump_ex', 'wb') as output_file:
pickle.dump(data_to_save, output_file)
with open('pickle_dump_ex', 'rb') as input_file:
data_to_load = pickle.load(input _file)
Pickle позволяет сериализовать большое количество разнообразных объектов, используемых в python. Можно даже выполнять сериализацию пользовательских классов и функций, с тем нюансом что код функций или классов не сериализуется, а сериализуются только конкретные объекты и ссылки на функции. Это значит, что для успешного распаковывания объектов требуется исходный код.
Примечательно, что библиотека позволяет исполнять программный код при десериализации данных. Функционал библиотеки позволяет добавить в класс методы getstate, setstate, и reduce, который описывает поведение объекта при сериализации/десериализации. Поэтому очень важно знать, что в файле не содержится вредоносного кода. С другой стороны, это может быть удобным подспорьем если требуется, например, напомнить себе о том на каком этапе находилась обработка перед сохранением объекта.
Выглядит это следующим образом:
Смотреть
Каковы основные кэш стратегии?
Считать данные из системы:
🔹 Cache aside
🔹 Read through
Запись данных в систему:
🔹 Write around
🔹 Write back
🔹 Write through
На диаграмме в изображении показано, как работают эти 5 стратегий. Некоторые из них могут использоваться совместно.
@sqlhub
Чтобы без особых усилий создавать поддельные данные для тестирования в #Python, используйте Faker.
@sqlhub
Выполнение побитовых операций над числами из Oracle Database 21c с помощью:BIT_AND_AGG
BIT_XOR_AGG
BIT_OR_AGG
✔ Преобразование десятичных чисел в двоичные (5 = 101, 6 = 110 и т. д.).
✔ Сравнение значений в каждой битовой позиции
✔ Преобразование результатов обратно в десятичный вид
@sqlhub
⚡️ Впечатляющая монолитная архитектура Stack Overflow
Компания Stack Overflow, поддерживает тенденцию развития микросервисов их сервис обрабатывает 1,3 млрд. просмотров страниц в месяц на своих 200 сайтах, используя удивительно эффективную монолитную архитектуру с минимальной инфраструктурой.
Веб-серверы:
- Используется всего 9 локальных веб-серверов IIS.
- Каждый сервер имеет 64 ГБ оперативной памяти и работает на высокооптимизированном коде .NET
- Обработка 450 пиковых запросов в секунду на каждом сервере при использовании всего 12% процессорной мощности
- Код минимизирует потребление памяти и настроен на ограничения сбора мусора
Серверы SQL:
- Организованы в 2 отказоустойчивых кластера по 2 сервера в каждом
- Первый кластер: 1,5 ТБ оперативной памяти на сервер
- Второй кластер: 768 ГБ оперативной памяти на сервер
- Около трети массива данных Q&A находится в памяти.
- Каждый кластер обрабатывает более 10 000 пиковых запросов в секунду при ~15% CPU
Redis:
- Один основной сервер с репликой на 256 ГБ.
- Обработка 60000 пиковых операций в секунду при 2% CPU
Stack Overflow эффективно масштабирует монолитное приложение.
📌 Архитектура наглядно
📌 Подкаст об архитектуре Stack Overflow
@sqlhub
SuperDuperDB для использования в AI-проектах
Предлагает специализированные функции, включающие:
✔️ деплой ИИ-API;
✔️ утилиту для тренировки моделей;
✔️ Feature Store - это «магазин» фичей, интерфейс между данными и моделями ML;
✔️ полноценную векторную базу данных.
Он может быть интегрирован с различными базами данных, такими как mongoDB и PostgreSQL, а также с платформами Amazon S3 и фреймворками машинного обучения, такими как PyTorch, Transformers и scikit-learn.
🐱 GitHub
@sqlhub
Наиболее распространенные операторы Pandas и Sql
@sqlhub
Стать сотрудником Яндекса быстрее и проще, чем кажется. Участвуйте в днях быстрого найма: решите тестовое, пройдите несколько секций собеседования и получите офер за несколько дней.
Ближайшее мероприятие:
• 7-8 октября — Fast Track для дата-аналитиков, офер за 2 дня в команду Фудтеха.
Зарегистрироваться
Реклама. ООО "Яндекс". erid:2VtzqwaYy5b
🔥 Дайджест полезных материалов из мира SQL за неделю
Почитать:
— Небольшой тест нескольких БД при работе с многими таблицами
— Визуализация распределений вероятностей в Python.
— 15 лучших бесплатных курсов по Linux
— Погружаемся в базы данных и SQL: полезные материалы и инструменты от сотрудников Selectel
— Optimizing SQL Performance with Execution Plans
— Data Analysis with SQL
— Dominando la Preparación de Datos para Análisis: Funciones y Técnicas Esenciales
— Autoscout24 SQL Analysis
— SQL Pro tips : Oracle SQL CROSS JOIN with UNPIVOT
— SQL Pro tips : Oracle XE Quick Start
— Leveraging Apache Age for Advanced Data Analytics
— Choosing an OLAP Engine for Financial Risk Management: What to Consider?
— SQL Window Functions
— Parallels and MSSQL Server
Посмотреть:
🌐 Django начало работы. (⏱ 08:18)
🌐 Go - SQL Databases in Golang with the database/sql package
🌐 Популярная задача с собеседования в Яндекс #python #задача #программирование #собеседование (⏱ 01:00)
🌐 Новые функции в IOS 17 (⏱ 00:29)
🌐 TokenFlow редактирование видео с помощью текстового описания (⏱ 00:22)
🌐 Парсер телеграм каналов на Python. Гайд по написанию мощного бота. (⏱ 11:58)
🌐 Задача из Собеседования в Яндекс с зарплатой 85000 рублей #python #собеседование #задача #yandex (⏱ 00:59)
🌐 Асинхронный парсинг сайтов на Python (⏱ 22:06)
Хорошего дня!
@sqlhub
Sqlparse: парсинг SQL-операторов
Sqlparse - это невалидирующий парсер SQL для Python. Он обеспечивает поддержку разбора, разбиения и форматирования SQL-операторов.$ pip install sqlparse
import sqlparse
📌 Файл с примерам кода и документацией по работе в закрепе.
raw = 'select * from foo; select * from bar;'
statements = sqlparse.split(raw)
statements
['select * from foo;', 'select * from bar;']
first = statements[0]
print(sqlparse.format(first, reindent=True, keyword_case='upper'))
SELECT *
FROM foo;
>>> # Parsing a SQL statement:
parsed = sqlparse.parse('select * from foo')[0]
parsed.tokens
[<DML 'select' at 0x7f22c5e15368>, <Whitespace ' ' at 0x7f22c5e153b0>, <Wildcard '*' … ]
@sqlhub
VK Data Meetup — митап об инструментах и людях, которые умеют работать с данными
⏰ Когда: 12 октября, 14:00 по Москве
📍 Регистрация
VK Data Meetup — это серия событий о практиках работы с данными на разных уровнях.
Митап 12 октября посвящен работе с большими данными и ML. Обсудим:
• Тренды работы с данными;
• Процессы взаимодействия со смежными подразделениями и внутри дата-команд;
• Новые инструменты, такие как Spark on Kubernetes и No Code AutoML-платформы;
• Кейсы решения практических бизнес-задач от ведущих российских компаний.
Митап будет интересен дата- и ML-инженерам, тимлидам и разработчикам платформ данных, архитекторам и специалистам по Data Science.
Присоединяйтесь к сообществу VK Data Meetup, чтобы узнать про работающие практики и поделиться своим опытом.
Зарегистрироваться