منصوبے کے بارے میں

delta-explain ایک ریڈ اونلی ڈیگنوسٹک ٹول ہے جو ڈیلٹا لیک پرننگ کو نظر آنے کے قابل بناتا ہے۔ یہ ڈیلٹا ٹیبل کے لین دین کے لاگ (یا کلاؤڈ لوکیشن) کو پارس کرتا ہے تاکہ یہ واضح کیا جا سکے کہ دیے گئے 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، اور پہلے سے تیار شدہ بائنریز شامل ہیں۔ یہ مقامی راستوں اور کلاؤڈ URIs (S3، Azure، GCS) کی حمایت کرتا ہے اور فراہم کنندہ مخصوص کریڈینشل ہینڈلنگ کے ساتھ کام کرتا ہے۔ رپورٹس ورژن شدہ JSON کنٹریکٹ کے طور پر اخذ کی جاتی ہیں؛ ایک خود مختار HTML ویور پرننگ فنلز، فی فائل تفصیلات، اور ڈیگنوسٹکس کو رینڈر کر سکتا ہے۔ کارکردگی ڈیٹا کے حجم کے بجائے لاگ انٹریز کی تعداد کے ساتھ پیمانے پر ہوتی ہے۔ 200k فائلوں پر ٹول تقریباً 1-2 سیکنڈ میں چلتا ہے اور تقریباً 300MB ریم استعمال کرتا ہے۔ چوڑے اسکیمات یا بہت سی فائلیں میموری کو لکیری طور پر بڑھاتی ہیں، اور آؤٹ پٹ کے سائز کو `--limit` کے ذریعے محدود کیا جا سکتا ہے۔ یہ پروجیکٹ CI گیٹنگ کے لیے GitHub Action کے طور پر بھی کام کرتا ہے، جو پرننگ کے فیصد اور فائل کی تعداد کو اسٹیپ آؤٹ پٹس کے طور پر ظاہر کرتا ہے۔ اہم خصوصیات میں شامل ہیں: * مرحلہ وار پرننگ بصریاتی (پہلے پارٹیشن پھر اعداد و شمار) * تفصیلی فی فائل لسٹنگ (رکھنے/ہٹانے کی وجوہات، سائز، اعداد و شمار کی رینجز) * حد کی بنیاد پر CI گیٹس (`--min-pruning`، `--assert-stats`) * JSON اسکیمہ سے تصدیق شدہ رپورٹس اور ایک HTML ویور * کراس پلیٹ فارم بائنریز (Linux، macOS، Windows) اور Docker امیجز * مکمل دستاویزات، مثالیں، اور ڈیزائن پر گہرائی سے جائزہ لینے والا آرٹیکل۔ یہ ٹول delta-kernel-rs پر تعمیر کیا گیا ہے، سختی سے ریڈ اونلی ہے، اور MIT لائسنس کے تحت جاری کیا گیا ہے۔