عن المشروع

delta-explain هي أداة تشخيصية للقراءة فقط تجعل عملية حذف ملفات Delta Lake مرئية. تحلل سجل معاملات جدول Delta (أو موقع سحابي) لتوضيح كيف تؤدي عمليتا حذف الجزء وحذف الإحصائيات القائمة على العمود إلى تضييق مجموعة الملفات المرشحة لنمط SQL مُقدَّم. يمكن تشغيله من سطر الأوامر (`delta-explain ./my-table --where "age > 40 AND country = 'DE'"`)، أو من بايثون (`from delta_explain import explain; report = explain(...)`)، أو تضمينه في اختبارات CI (`--min-pruning 90 --assert-stats`). لا تلمس الأداة ملفات Parquet إطلاقاً – بل تعمل على السجل فحسب – مما يبسط نطاقها ويوضح ضماناتها. تتضمن خيارات التثبيت Homebrew و PyPI و Cargo و Docker والثنائيات الجاهزة. يدعم المسارات المحلية وعناوين URL السحابية (S3 و Azure و GCS) مع معالجة موافق حسب المزوِّد. تُصدِر التقارير كعقد JSON مُرقَّم؛ ويمكن لعرض HTML المدمج أن يُصوِّر مراحل الحذف وتفاصيل الملف لكل ملف والمشخصات. تتوسع الأداء مع عدد مدخلات السجل وليس حجم البيانات. على 200 ألف ملف تعمل الأداة خلال ~1-2 ثانية وتستهلك ~300 ميجابايت ذاكرة. تزيد المخططات العريضة أو كثرة الملفات الذاكرة خطياً، ويمكن تقييد مخرج `--limit`. يعمل المشروع أيضاً كـ GitHub Action لاختبارات CI، ويُعلِن نسب الحذف وعددها كمخرجات خطوة. الميزات الرئيسية: * عرض خطوة بخطوة لحذف الأجزاء (الجزء ثم الإحصائيات) * قوائم مفصلة لكل ملف (أسباب الإبقاء/الحذف، الأحجام، نطاقات الإحصائيات) * عتبات لاختبارات CI (`--min-pruning`، `--assert-stats`) * تقارير JSON ذات مخطط مُتحقَّق منه وعارض HTML * ثنائيات عبر الأنظمة (Linux, macOS, Windows) وصور Docker * توثيق كامل، أمثلة، ومقال تطرّق للتصميم بُني الأداة بـ delta-kernel-rs، للقراءة فقط بالكامل، ونُشرت تحت رخصة MIT.