Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Perf: document and support multi-dimensional chunking for pruning on non-time dimensions

Aberta
#132 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
38/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
python
Domínio
database

Direção de pesquisa

Start with block_slices() in df.py and PrunableStreamingTable.prune_partitions() to check how multi-dimensional chunk metadata is created and used. Add tests for pruning on non-time dimensions, then document examples and chunk-size guidance for ERA5-scale datasets. Done means those tests pass and the documentation explains how multi-dimensional chunking improves pruning and balances partition count against size.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

enhancement

Problem

Filter pushdown currently only prunes on the chunking dimension. For ARCO-ERA5 chunked by time, a query like:

SELECT AVG(temperature) FROM ds WHERE lat BETWEEN 30 AND 60

cannot prune any partitions — lat is not the partition key. All 732,072 time partitions are read even though only ~33% of rows in each partition satisfy the filter.

Existing support

block_slices() in df.py already supports multi-dimensional chunking:

chunks = {'time': 1, 'lat': 90, 'lon': 180}  # chunk on all dims

PrunableStreamingTable.prune_partitions() already stores bounds for all chunked dimensions per partition — it should handle multi-dim metadata correctly today.

Work required

  1. Add documentation and examples showing multi-dim chunking for better pruning
  2. Verify that pruning works correctly with multi-dim metadata (likely already works)
  3. Add tests covering multi-dimensional chunk pruning
  4. Recommend chunk sizes that balance partition count vs. partition size for ERA5-scale datasets

Parent: #126

Linguagem predominante
Python
Estrelas
142
Forks
19
Merge médio
1d 9h
PRs com merge (30d)
9

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de xqlsystems/xarray-sql

Todas as issues de xqlsystems/xarray-sql

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.