इस प्रोजेक्ट के बारे में

delta-explain एक केवल-पढ़ने योग्य डायग्नोस्टिक टूल है जो Delta Lake प्रूनिंग को दृश्यमान बनाता है। यह किसी Delta टेबल के ट्रांज़ैक्शन लॉग (या किसी क्लाउड लोकेशन) को पार्स करता है ताकि दिखा सके कि दिए गए SQL-शैली प्रेडिकेट के लिए पार्टिशन प्रूनिंग और कॉलम सांख्यिकी उम्मीदवार फ़ाइल सेट को कैसे संकीर्ण करते हैं। आप इसे शेल से चला सकते हैं (`delta-explain ./my-table --where "age > 40 AND country = 'DE'"`), Python से (`from delta_explain import explain; report = explain(...)`), या इसे CI में गेट के रूप में एम्बेड कर सकते हैं (`--min-pruning 90 --assert-stats`)। यह टूल Parquet डेटा फ़ाइलों को कभी नहीं छूता – केवल लॉग – जिससे इसका सरफ़ेस छोटा रहता है और इसकी गारंटियाँ प्रलेखित रहती हैं। इंस्टॉलेशन विकल्पों में Homebrew, PyPI, Cargo, Docker, और प्री-बिल्ट बाइनरीज़ शामिल हैं। यह स्थानीय पाथ और क्लाउड URI (S3, Azure, GCS) को प्रदाता-विशिष्ट क्रेडेंशियल हैंडलिंग के साथ सपोर्ट करता है। रिपोर्ट एक वर्ज़न्ड JSON कॉन्ट्रैक्ट के रूप में उत्सर्ित होती हैं; एक सेल्फ-कंटेन्ड HTML व्यूअर प्रूनिंग फ़नल, प्रति-फ़ाइल विवरण, और डायग्नोस्टिक्स रेंडर कर सकता है। प्रदर्न डेटा वॉल्यूम के नहीं, लॉग एंट्रीज़ की संख्या के साथ स्केल करता है। 200 हजार फ़ाइलों पर टूल ~1–2 सेकंड में चलता है और ~300 MB RAM उपयोग करता है। चौड़े स्कीमा या कई फ़ाइलें मेमोरी को रैखिक रूप से बढ़ाती हैं, और आउटपुट आकार को `--limit` से सीमित किया जा सकता है। यह प्रोजेक्ट CI गेटिंग के लिए GitHub Action के रूप में भी काम करता है, और प्रूनिंग प्रतिशत तथा फ़ाइल गणनाएँ स्टेप आउटपुट्स के रूप में उजागर करता है। मुख्य विशेषताएँ: (1) चरण-दर-चरण प्रूनिंग विज़ुअलाइज़ेशन (पहले पार्टिशन फिर सांख्यिकी); (2) वर्बोज़ प्रति-फ़ाइल लिस्टिंग (रखे/गिराए जाने के कारण, आकार, स्टैट्स रेंज); (3) थ्रेशोल्ड-आधारित CI गेट्स (`--min-pruning`, `--assert-stats`); (4) JSON स्कीमा-वैलिडेटेड रिपोर्ट और एक HTML व्यूअर; (5) क्रॉस-प्लेटफ़ॉर्म बाइनरीज़ (Linux, macOS, Windows) और Docker इमेजेज़; (6) पूरा डॉक्युमेंटेशन, उदाहरण, और डिज़ाइन पर एक गहन विश्लेषण लेख। यह टूल delta-kernel-rs पर बना है, पूरी तरह केवल-पढ़ने योग्य है, और MIT लाइसेंस के अंतर्गत रिलीज़ किया गया है।