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.
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
Instala la biblioteca desde PyPI
pip install xarray-sql - 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
Biblioteca de DataFrame acelerada por GPU para datos tabulares, con una API similar a pandas y un acelerador para pandas que no requiere cambios en el código.
Una plataforma GIS ligera y nativa de la nube que funciona en el navegador, en computadoras, dispositivos móviles y Jupyter para visualizar y analizar datos geoespaciales.
Un reemplazo directo de Apache Spark escrito en Rust que ejecuta código PySpark existente mediante el protocolo Spark Connect.
Herramienta de exploración de datos con IA que se conecta a archivos y bases de datos y convierte preguntas en visualizaciones editables, de Microsoft Research.
Formato abierto de tablas y archivos lakehouse para IA multimodal, con búsqueda vectorial y de texto completo, y acceso aleatorio rápido en almacenamiento de objetos.