Опубликован PRQL, компилируемый в SQL язык обработки данных
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Доступен выпуск языка формирования запросов и преобразования данных PRQL 0.9 (Pipelined Relational Query Language), развиваемого в качестве более простой и функциональной замены SQL, упрощающей создание сложных аналитических запросов. Код на языке PRQL компилируется в SQL, что позволяет использовать его с любыми реляционными СУБД. Компилятор PRQL написан на языке Rust и распространяется под лицензией Apache 2.0.
PRQL позволяет формировать сценарии обработки данных в форме конвейеров, в которых по цепочке друг за другом выполняются операции преобразования, которые могут включать блоки для фильтрации потока данных, выполнения вычислении и таких действий, как сортировка, агрегирование и группировка. Поддерживается разделение проекта на несколько файлов. В сценариях PRQL допускается определение функций, использование циклов, создание переменных, массивов, регулярных выражений и кортежей. При необходимости поддерживается прямая подстановка SQL-кода в сценарии на PRQL.
В разработке находится возможность использования системы типов и модулей. В планах упоминается расширение библиотеки функций и предоставление плагинов для интеграции с интегрированными средами разработки. В отдалённой перспективе намечено создание компилятора из SQL в PRQL и разработка бэкендов для других языков запросов, таких как RQ (Relational Query).
Обвязки для использования PRQL развиваются для языков Java, JavaScript, .NET, Elixir, R, Rust, PHP и Python. Через плагины обеспечена интеграция с Jupyter/IPython, Visual Studio Code и Prefect. Подготовлено расширение для выполнения кода PRQL в СУБД DuckDB. В компиляторе поддерживается генерация SQL с учётом диалектов и возможностей, применяемых в СУБД PostgreSQL, MySQL, DuckDB, Сlickhouse, MS SQL и SQLite.
Для тестирования компиляции предложен online-сервис, работающий в браузере.
Пример кода:
from employees
filter start_date > @2021-01-01 # более понятный синтаксис работы с датами
derive { # блок derive для добавления столбцов и переменных
gross_salary = salary + (tax ?? 0),
gross_cost = gross_salary + benefits_cost,
}
filter gross_cost > 0
group {title, country} ( # блок group выполняет код для каждой группы
aggregate { # блок aggregate агрегирует группу в значение
average gross_salary,
sum_gross_cost = sum gross_cost,
}
)
filter sum_gross_cost > 100_000 # блок filter заменяет SQL-операции WHERE и HAVING.
derive id = f"{title}_{country}" # [b][url=https://prql-lang.org/book/reference/syntax/f-strings.html]f-строки[/url][/b], как в Python
derive country_code = s"LEFT(country, 2)" # [b][url=https://prql-lang.org/book/reference/syntax/s-strings.html]s-строки[/url][/b] для прямой вставки SQL-кода
sort {sum_gross_cost, -country} # минус сигнализирует сортировку в обратном порядке
take 1..20 # take задаёт диапазон для вывода
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://news.ycombinator.com/i...)
- OpenNews: Опубликован стандарт SQL:2023
- OpenNews: Опубликован DuckDB 0.6.0, вариант SQLite для аналитических запросов
- OpenNews: Релиз языка для формирования структурированных запросов HTSQL 2.0
- OpenNews: Facebook представил новый язык формирования запросов GraphQL
Похожие новости:
- В сентябре в Томске состоится конференция PGConf.Сибирь
- Релиз nxs-data-anonymizer 1.0.0, инструмента для анонимизации баз данных
- 26 июля состоится открытый вебинар про использование 1С с PostgreSQL
- 25 сентября в Санкт-Петербурге состоится конференция PGConf.СПб
- Проекты CBS и sqld развивают облачный и серверный варианты SQLite
- Утилита pg_easy_replicate, упрощающая перенос БД между серверами PostgreSQL
- Опубликован стандарт SQL:2023
- Выпуск СУБД SQLite 3.42 и DuckDB 0.8.0. CG/SQL с реализацией хранимых процедур для SQLite
- Обновление утилит резервного копирования pg_probackup 2.5.12 и 2.6.2
- Выпуск СУБД AlaSQL 4.0, нацеленной на использование в браузерах и Node.js
Теги для поиска: #_prql, #_sql, #_database
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 21-Ноя 21:56
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Доступен выпуск языка формирования запросов и преобразования данных PRQL 0.9 (Pipelined Relational Query Language), развиваемого в качестве более простой и функциональной замены SQL, упрощающей создание сложных аналитических запросов. Код на языке PRQL компилируется в SQL, что позволяет использовать его с любыми реляционными СУБД. Компилятор PRQL написан на языке Rust и распространяется под лицензией Apache 2.0. PRQL позволяет формировать сценарии обработки данных в форме конвейеров, в которых по цепочке друг за другом выполняются операции преобразования, которые могут включать блоки для фильтрации потока данных, выполнения вычислении и таких действий, как сортировка, агрегирование и группировка. Поддерживается разделение проекта на несколько файлов. В сценариях PRQL допускается определение функций, использование циклов, создание переменных, массивов, регулярных выражений и кортежей. При необходимости поддерживается прямая подстановка SQL-кода в сценарии на PRQL. В разработке находится возможность использования системы типов и модулей. В планах упоминается расширение библиотеки функций и предоставление плагинов для интеграции с интегрированными средами разработки. В отдалённой перспективе намечено создание компилятора из SQL в PRQL и разработка бэкендов для других языков запросов, таких как RQ (Relational Query). Обвязки для использования PRQL развиваются для языков Java, JavaScript, .NET, Elixir, R, Rust, PHP и Python. Через плагины обеспечена интеграция с Jupyter/IPython, Visual Studio Code и Prefect. Подготовлено расширение для выполнения кода PRQL в СУБД DuckDB. В компиляторе поддерживается генерация SQL с учётом диалектов и возможностей, применяемых в СУБД PostgreSQL, MySQL, DuckDB, Сlickhouse, MS SQL и SQLite. Для тестирования компиляции предложен online-сервис, работающий в браузере. Пример кода: from employees
filter start_date > @2021-01-01 # более понятный синтаксис работы с датами derive { # блок derive для добавления столбцов и переменных gross_salary = salary + (tax ?? 0), gross_cost = gross_salary + benefits_cost, } filter gross_cost > 0 group {title, country} ( # блок group выполняет код для каждой группы aggregate { # блок aggregate агрегирует группу в значение average gross_salary, sum_gross_cost = sum gross_cost, } ) filter sum_gross_cost > 100_000 # блок filter заменяет SQL-операции WHERE и HAVING. derive id = f"{title}_{country}" # [b][url=https://prql-lang.org/book/reference/syntax/f-strings.html]f-строки[/url][/b], как в Python derive country_code = s"LEFT(country, 2)" # [b][url=https://prql-lang.org/book/reference/syntax/s-strings.html]s-строки[/url][/b] для прямой вставки SQL-кода sort {sum_gross_cost, -country} # минус сигнализирует сортировку в обратном порядке take 1..20 # take задаёт диапазон для вывода =========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 21-Ноя 21:56
Часовой пояс: UTC + 5