Um acelerador para Spark que executa operadores de Spark SQL e DataFrame sobre dados colunares do Apache Arrow com um mecanismo Rust baseado em DataFusion, sem alterações no código.
xqlsystems/xarray-sql
Biblioteca Python que permite consultar datasets do Xarray com SQL, tratando dados de arrays como tabelas e usando DuckDB, Polars, DataFusion ou engines ADBC.
- Estrelas
- 153
- Forks
- 23
- Issues abertas
- 104
- Último commit
- há 5 dias
O que é?
xarray-sql oferece uma interface SQL para datasets de arrays. Ele transforma Xarray Datasets em tabelas para que consultas SQL possam ser executadas neles usando a engine de consulta que você escolher. Um dataset é registrado como tabela com from_dataset, consultado com SQL padrão e, em seguida, o resultado pode ser convertido de volta em um Xarray Dataset para análises ou visualizações adicionais.
O mesmo registro funciona em várias engines, incluindo DuckDB, Polars e DataFusion por meio de uma interface de dataset do PyArrow. Qualquer banco de dados com driver ADBC, como PostgreSQL, SQLite, Snowflake ou BigQuery, pode ingerir os dados, e xql.serve disponibiliza datasets como servidor Arrow Flight SQL. O projeto documenta suporte a stores Zarr cloud-native, com projeção de colunas e pushdown de predicados baseado em dimensões, para que consultas em datasets grandes, como ARCO-ERA5, leiam apenas as variáveis e partições necessárias.
O projeto é experimental e ainda está em estágio inicial, com limitações conhecidas documentadas para cada engine. Extras opcionais adicionam suporte geoespacial por meio de uma UDF proj.
Recursos principais
- 01Registra Xarray Datasets como tabelas SQL com from_dataset ou xql.register.
- 02Converte os resultados das consultas de volta em Xarray Datasets com to_dataset.
- 03Funciona com DuckDB, Polars, DataFusion e qualquer banco de dados compatível com ADBC.
- 04Aplica pushdown de projeção de colunas e filtros de dimensão em Zarr, além de poda de partições.
- 05Disponibiliza datasets por Arrow Flight SQL para clientes externos.
Casos de uso
- Executar agregações SQL, como climatologias mensais, em dados meteorológicos ou climáticos em grade.
- Combinar dados tabulares com datasets raster ou em grade usando SQL.
- Consultar grandes datasets Zarr hospedados na nuvem sem carregá-los inteiramente na memória.
- Permitir que usuários de SQL acessem dados científicos de arrays por meio de ferramentas de banco de dados conhecidas.
Início rápido
- 1
Instale a biblioteca pelo PyPI
pip install xarray-sql - 2
Instale as dependências opcionais para o exemplo do tutorial (pooch, netCDF4, matplotlib)
pip install pooch netCDF4 matplotlib
Antes de usar
- O projeto ainda está em estágio inicial; os mantenedores estão buscando usuários pioneiros e ele pode mudar.
- Alguns problemas conhecidos específicos de cada engine e problemas fundamentais estão documentados separadamente; consulte-os antes de depender do projeto.
- Operações com tensores densos são mais lentas em SQL do que no Xarray nativo.
Em coleções
Tópicos
Perguntas frequentes
- O que é xarray-sql?
- Biblioteca Python que permite consultar datasets do Xarray com SQL, tratando dados de arrays como tabelas e usando DuckDB, Polars, DataFusion ou engines ADBC. xarray-sql oferece uma interface SQL para datasets de arrays. Ele transforma Xarray Datasets em tabelas para que consultas SQL possam ser executadas neles usando a engine de consulta que você escolher. Um dataset é registrado como tabela com from_dataset, consultado com SQL padrão e, em seguida, o resultado pode ser convertido de volta em um Xarray Dataset para análises ou visualizações adicionais.
- xarray-sql é gratuito? Qual é a licença?
- xarray-sql é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- xarray-sql ainda é mantido?
- Manutenção ativa. O último commit de xarray-sql foi em 2 de nov. de 2026.
- Para que posso usar xarray-sql?
- Executar agregações SQL, como climatologias mensais, em dados meteorológicos ou climáticos em grade. Combinar dados tabulares com datasets raster ou em grade usando SQL. Consultar grandes datasets Zarr hospedados na nuvem sem carregá-los inteiramente na memória. Permitir que usuários de SQL acessem dados científicos de arrays por meio de ferramentas de banco de dados conhecidas.
- Como instalar xarray-sql?
- Instale a biblioteca pelo PyPI: pip install xarray-sql Instale as dependências opcionais para o exemplo do tutorial (pooch, netCDF4, matplotlib): pip install pooch netCDF4 matplotlib
- Onde consigo xarray-sql?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/xqlsystems/xarray-sql
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Biblioteca de DataFrames acelerada por GPU para dados tabulares, com API semelhante à do pandas e acelerador que não exige alterações no código.
Uma plataforma GIS leve e cloud-native que roda no navegador, desktop, celular e Jupyter para visualizar e analisar dados geoespaciais.
Uma alternativa plug-and-play ao Apache Spark, escrita em Rust, que executa código PySpark existente pelo protocolo Spark Connect.
Ferramenta de exploração de dados com IA que conecta arquivos e bancos de dados e transforma perguntas em visualizações editáveis, da Microsoft Research.
Formato aberto de tabela e arquivo para lakehouses de IA multimodal, com busca vetorial e textual e acesso aleatório rápido em object storage.