Perf: document and support multi-dimensional chunking for pruning on non-time dimensions
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 38/100
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Add documentation and examples showing multi-dim chunking for better pruning
- Verify that pruning works correctly with multi-dim metadata (likely already works)
- Add tests covering multi-dimensional chunk pruning
- Recommend chunk sizes that balance partition count vs. partition size for ERA5-scale datasets
Parent: #126
- Langage dominant
- Python
- Étoiles
- 142
- Forks
- 19
- Merge moyen
- 1 j 9 h
- PR mergées (30 j)
- 9
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de xqlsystems/xarray-sql
-
documentation
Difficulté 1/5 1-3 heures Accessibilité débutants 85/100
xqlsystems/xarray-sql#268 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
xqlsystems/xarray-sql#267 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 74/100
xqlsystems/xarray-sql#243 ·
Les mainteneurs répondent en général sous 1 jour
-
publish.yml: the TestPyPI verification step is unreachable (and installs the wrong package name)Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
xqlsystems/xarray-sql#242 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
xqlsystems/xarray-sql#237 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de xqlsystems/xarray-sql
Issues similaires
-
get_page_thumbnail modifies cached page images, affecting later thumbnails and picture exportsOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
docling-project/docling-mcp#147 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
autowarefoundation/autoware_carla_scenario#405 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 79/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
mohitmishra786/readprism#322 ·
Les mainteneurs répondent en général sous 1 jour