Repolode
xqlsystems

xqlsystems/xarray-sql

Una biblioteca de Python para consultar conjuntos de datos de Xarray con SQL, tratándolos como tablas y usando DuckDB, Polars, DataFusion o motores ADBC.

Estrellas
153
Forks
24
Issues abiertos
104
Último commit
hace 21 horas

¿Qué es?

xarray-sql ofrece una interfaz SQL para conjuntos de datos de arrays. Convierte los Xarray Datasets a tablas para ejecutar consultas SQL con el motor que elijas. El conjunto de datos se registra como tabla con from_dataset, se consulta con SQL estándar y el resultado se puede convertir de nuevo en un Xarray Dataset para seguir analizándolo o crear gráficos.

El mismo registro funciona con varios motores, como DuckDB, Polars y DataFusion, mediante una interfaz de conjuntos de datos de PyArrow. Cualquier base de datos con un driver ADBC, como PostgreSQL, SQLite, Snowflake o BigQuery, puede incorporar los datos; además, xql.serve expone los conjuntos de datos como servidor Arrow Flight SQL. El proyecto documenta la compatibilidad con almacenes Zarr nativos de la nube, con proyección de columnas y pushdown de predicados basado en dimensiones, para que las consultas sobre conjuntos de datos grandes, como ARCO-ERA5, solo lean las variables y particiones necesarias.

El proyecto es un experimento que aún está en una fase inicial, y documenta las limitaciones conocidas de cada motor. Los extras opcionales añaden compatibilidad geoespacial mediante una UDF de proj.

Funciones clave

  • 01Registra Xarray Datasets como tablas SQL con from_dataset o xql.register.
  • 02Convierte los resultados de las consultas de nuevo en Xarray Datasets con to_dataset.
  • 03Funciona con DuckDB, Polars, DataFusion y cualquier base de datos compatible con ADBC.
  • 04Aplica pushdown de proyección de columnas y filtros de dimensiones a Zarr, además de podar particiones.
  • 05Ofrece conjuntos de datos a clientes externos mediante Arrow Flight SQL.

Casos de uso

  • Ejecutar agregaciones SQL, como climatologías mensuales, sobre datos meteorológicos o climáticos en cuadrícula.
  • Combinar datos tabulares con conjuntos de datos ráster o en cuadrícula mediante SQL.
  • Consultar grandes conjuntos de datos Zarr alojados en la nube sin cargarlos por completo en memoria.
  • Permitir que usuarios de SQL accedan a datos científicos de arrays con herramientas de bases de datos conocidas.

Inicio rápido

  1. 1

    Instala la biblioteca desde PyPI

    pip install xarray-sql
  2. 2

    Instala las dependencias opcionales para el ejemplo del tutorial (pooch, netCDF4, matplotlib)

    pip install pooch netCDF4 matplotlib

Antes de usarlo

  • Es un proyecto en una fase inicial; los responsables buscan usuarios pioneros y el proyecto puede cambiar.
  • Algunos problemas conocidos específicos de cada motor y otros fundamentales están documentados por separado; consúltalos antes de depender del proyecto.
  • Las operaciones con tensores densos son más lentas en SQL que en Xarray nativo.

En colecciones

Temas

Preguntas frecuentes

¿Qué es xarray-sql?
Una biblioteca de Python para consultar conjuntos de datos de Xarray con SQL, tratándolos como tablas y usando DuckDB, Polars, DataFusion o motores ADBC. xarray-sql ofrece una interfaz SQL para conjuntos de datos de arrays. Convierte los Xarray Datasets a tablas para ejecutar consultas SQL con el motor que elijas. El conjunto de datos se registra como tabla con from_dataset, se consulta con SQL estándar y el resultado se puede convertir de nuevo en un Xarray Dataset para seguir analizándolo o crear gráficos.
¿xarray-sql es gratuito? ¿Qué licencia tiene?
xarray-sql es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿xarray-sql sigue mantenido?
Mantenimiento activo. El último commit de xarray-sql fue el 6 nov 2026.
¿Para qué puedo usar xarray-sql?
Ejecutar agregaciones SQL, como climatologías mensuales, sobre datos meteorológicos o climáticos en cuadrícula. Combinar datos tabulares con conjuntos de datos ráster o en cuadrícula mediante SQL. Consultar grandes conjuntos de datos Zarr alojados en la nube sin cargarlos por completo en memoria. Permitir que usuarios de SQL accedan a datos científicos de arrays con herramientas de bases de datos conocidas.
¿Cómo se instala xarray-sql?
Instala la biblioteca desde PyPI: pip install xarray-sql Instala las dependencias opcionales para el ejemplo del tutorial (pooch, netCDF4, matplotlib): pip install pooch netCDF4 matplotlib
¿Dónde consigo xarray-sql?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/xqlsystems/xarray-sql

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados

Un acelerador de Spark que ejecuta operadores de Spark SQL y DataFrame sobre datos columnares de Apache Arrow mediante un motor Rust basado en DataFusion, sin cambios en el código.

Datos y analítica#spark#arrow#datafusion
1,3 mil+7 esta semana414ScalaApache-2.0Actualizado hace 3 horas