À propos du projet

delta-explain est un outil de diagnostic en lecture seule qui rend visible l’élagage de Delta Lake. Il analyse le journal de transaction d’une table Delta (ou un emplacement cloud) pour illustrer comment l’élagage de partitions et les statistiques de colonnes réduisent l’ensemble de fichiers candidats pour un prédicat de style SQL fourni. Vous pouvez l’exécuter depuis le shell (`delta-explain ./my-table --where "age > 40 AND country = 'DE'"`), depuis Python (`from delta_explain import explain; report = explain(...)`), ou l’intégrer dans la CI comme garde-fou (`--min-pruning 90 --assert-stats`). L’outil ne touche jamais aux fichiers de données Parquet – uniquement au journal – ce qui limite sa surface et documente ses garanties. Les options d’installation incluent Homebrew, PyPI, Cargo, Docker et des binaires précompilés. Il prend en charge les chemins locaux et les URI cloud (S3, Azure, GCS) avec une gestion des identifiants propre à chaque fournisseur. Les rapports sont émis selon un contrat JSON versionné ; une visionneuse HTML autonome peut afficher les entonnoirs d’élagage, les détails par fichier et les diagnostics. Les performances évoluent avec le nombre d’entrées de journal, pas avec le volume de données. Sur 200 k fichiers, l’outil s’exécute en ~1–2 s et utilise ~300 Mo de RAM. Les schémas larges ou le grand nombre de fichiers augmentent la mémoire linéairement, et la taille de sortie peut être limitée avec `--limit`. Le projet sert aussi de GitHub Action pour le contrôle en CI, exposant les pourcentages d’élagage et les nombres de fichiers comme sorties d’étape. Les principales fonctionnalités incluent : * Visualisation étape par étape de l’élagage (partition puis statistiques) * Listes détaillées par fichier (raisons de conservation/rejet, tailles, plages de statistiques) * Garde-fous CI basés sur des seuils (`--min-pruning`, `--assert-stats`) * Rapports validés par schéma JSON et visionneuse HTML * Binaires multiplateformes (Linux, macOS, Windows) et images Docker * Documentation complète, exemples et article approfondi sur la conception. L’outil est construit sur delta-kernel-rs, strictement en lecture seule, et publié sous licence MIT.