Ускоритель Apache Spark, выполняющий операторы Spark SQL и DataFrame над колоночными данными Apache Arrow с помощью движка на Rust и DataFusion — без изменений кода.
xqlsystems/xarray-sql
Библиотека Python для SQL-запросов к наборам данных Xarray: она представляет массивы в виде таблиц и работает с DuckDB, Polars, DataFusion и ADBC-движками.
- Звёзды
- 153
- Форки
- 23
- Открытые issues
- 104
- Последний коммит
- 6 дней назад
Что это?
xarray-sql — это SQL-интерфейс для наборов данных с массивами. Библиотека преобразует Xarray Datasets в табличную форму, позволяя выполнять SQL-запросы с помощью выбранного вами движка. Набор данных регистрируется как таблица через from_dataset, запрашивается с помощью стандартного SQL, а результат можно преобразовать обратно в Xarray Dataset для дальнейшего анализа или построения графиков.
Один и тот же способ регистрации работает с несколькими движками, включая DuckDB, Polars и DataFusion через интерфейс набора данных PyArrow. Данные можно загружать в любую базу данных с драйвером ADBC, например PostgreSQL, SQLite, Snowflake или BigQuery, а xql.serve предоставляет наборы данных через сервер Arrow Flight SQL. В проекте описана поддержка облачных хранилищ Zarr с проекцией столбцов и проталкиванием предикатов по измерениям: благодаря этому запросы к большим наборам данных, например ARCO-ERA5, считывают только нужные переменные и разделы.
Проект экспериментальный и находится на ранней стадии; известные ограничения для каждого движка описаны отдельно. Дополнительные опции добавляют поддержку геопространственных данных через UDF proj.
Ключевые возможности
- 01Регистрирует Xarray Datasets как SQL-таблицы с помощью from_dataset или xql.register.
- 02Преобразует результаты запросов обратно в Xarray Datasets с помощью to_dataset.
- 03Работает с DuckDB, Polars, DataFusion и любой базой данных с поддержкой ADBC.
- 04Проталкивает проекцию столбцов и фильтры по измерениям до Zarr и выполняет отсечение разделов.
- 05Предоставляет доступ к наборам данных через Arrow Flight SQL для внешних клиентов.
Сценарии использования
- Выполнение SQL-агрегаций, например расчёт среднемесячных климатических показателей по сеточным метеорологическим или климатическим данным.
- Объединение табличных данных с растровыми или сеточными наборами данных с помощью SQL.
- Запросы к большим наборам данных Zarr в облаке без загрузки всех данных в память.
- Предоставление пользователям SQL-доступа к научным данным в виде массивов через привычные инструменты для работы с базами данных.
Быстрый старт
- 1
Установите библиотеку из PyPI
pip install xarray-sql - 2
Установите дополнительные зависимости для примера из руководства (pooch, netCDF4, matplotlib)
pip install pooch netCDF4 matplotlib
Что важно знать
- Проект находится на ранней стадии; разработчики ищут первых пользователей, и проект может измениться.
- Некоторые известные проблемы, связанные с конкретными движками, и фундаментальные проблемы описаны отдельно — ознакомьтесь с ними, прежде чем полагаться на проект.
- Операции с плотными тензорами в SQL выполняются медленнее, чем в нативном Xarray.
В подборках
Темы
Частые вопросы
- Что такое xarray-sql?
- Библиотека Python для SQL-запросов к наборам данных Xarray: она представляет массивы в виде таблиц и работает с DuckDB, Polars, DataFusion и ADBC-движками. xarray-sql — это SQL-интерфейс для наборов данных с массивами. Библиотека преобразует Xarray Datasets в табличную форму, позволяя выполнять SQL-запросы с помощью выбранного вами движка. Набор данных регистрируется как таблица через from_dataset, запрашивается с помощью стандартного SQL, а результат можно преобразовать обратно в Xarray Dataset для дальнейшего анализа или построения графиков.
- xarray-sql можно использовать бесплатно? Какая у него лицензия?
- xarray-sql распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- xarray-sql всё ещё поддерживается?
- Активно поддерживается. Последний коммит в xarray-sql — 2 нояб. 2026 г..
- Для чего можно использовать xarray-sql?
- Выполнение SQL-агрегаций, например расчёт среднемесячных климатических показателей по сеточным метеорологическим или климатическим данным. Объединение табличных данных с растровыми или сеточными наборами данных с помощью SQL. Запросы к большим наборам данных Zarr в облаке без загрузки всех данных в память. Предоставление пользователям SQL-доступа к научным данным в виде массивов через привычные инструменты для работы с базами данных.
- Как установить xarray-sql?
- Установите библиотеку из PyPI: pip install xarray-sql Установите дополнительные зависимости для примера из руководства (pooch, netCDF4, matplotlib): pip install pooch netCDF4 matplotlib
- Где скачать xarray-sql?
- Исходный код и инструкции по установке — на GitHub: https://github.com/xqlsystems/xarray-sql
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
GPU-ускоренная библиотека DataFrame для табличных данных с API в стиле pandas и ускорением pandas без изменений в коде.
Лёгкая облачно-ориентированная GIS-платформа для визуализации и анализа геопространственных данных в браузере, на компьютере и мобильных устройствах, а также в Jupyter.
Полноценная замена Apache Spark на Rust, запускающая существующий код PySpark через протокол Spark Connect.
Инструмент Microsoft Research для исследования данных с помощью ИИ: подключайте файлы и базы данных, задавайте вопросы и создавайте редактируемые визуализации.
Открытый формат таблиц и файлов для lakehouse-систем с мультимодальными AI-данными, векторным и полнотекстовым поиском и быстрым произвольным доступом к данным в объектном хранилище.