Repolode
xqlsystems

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. 1

    Установите библиотеку из PyPI

    pip install xarray-sql
  2. 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 обновляется ежедневно.

Похожие проекты

Ускоритель Apache Spark, выполняющий операторы Spark SQL и DataFrame над колоночными данными Apache Arrow с помощью движка на Rust и DataFusion — без изменений кода.

1,3 тыс.+9 за неделю413ScalaApache-2.0Обновлён 21 час назад

Лёгкая облачно-ориентированная GIS-платформа для визуализации и анализа геопространственных данных в браузере, на компьютере и мобильных устройствах, а также в Jupyter.

8,4 тыс.+113 за неделю948TypeScriptMITАктивно поддерживаетсяОбновлён 20 часов назад

Инструмент Microsoft Research для исследования данных с помощью ИИ: подключайте файлы и базы данных, задавайте вопросы и создавайте редактируемые визуализации.

17,7 тыс.+33 за неделю1,7 тыс.PythonMITАктивно поддерживаетсяОбновлён вчера

Открытый формат таблиц и файлов для lakehouse-систем с мультимодальными AI-данными, векторным и полнотекстовым поиском и быстрым произвольным доступом к данным в объектном хранилище.

7,3 тыс.+31 за неделю926RustApache-2.0Обновлён 21 час назад