تشذيب الملف الديناميكي

يمكن أن يؤدي تشذيب الملفات الديناميكي إلى تحسين أداء العديد من الاستعلامات على جداول Delta Lake بشكل ملحوظ. مشغلات تقليم الملفات الديناميكية للاستعلامات التي تحتوي على عبارات أو WHERE عبارات عامل التصفية. يجب استخدام الحوسبة التي تدعم Photon لاستخدام تشذيب الملفات الديناميكية في MERGEعبارات UPDATEو و DELETE . تستفيد العبارات فقط SELECT من تقليم الملفات الديناميكية عندما لا يتم استخدام Photon.

يعد تقليم الملفات الديناميكي فعالا بشكل خاص للجداول غير المقسمة، أو بالنسبة إلى الصلات على الأعمدة غير المقسمة. غالبا ما يرتبط تأثير أداء تقليم الملفات الديناميكية بتجمع البيانات، لذا ضع في اعتبارك استخدام Z-Ordering لزيادة الفائدة إلى أقصى حد.

بالنسبة لحالات الخلفية والاستخدام لتقليم الملفات الديناميكية، راجع استعلامات SQL الأسرع على Delta Lake مع تقليم الملفات الديناميكي.

التكوين

يتم التحكم في تقليم الملفات الديناميكية بواسطة خيارات تكوين Apache Spark التالية:

  • spark.databricks.optimizer.dynamicFilePruning (الافتراضي هو true): العلامة الرئيسية التي توجه المحسن لدفع عوامل التصفية لأسفل. عند التعيين إلى false، لن يكون تنقيح الملفات الديناميكي ساري المفعول.
  • spark.databricks.optimizer.deltaTableSizeThreshold (الافتراضي هو 10,000,000,000 bytes (10 GB)): يمثل الحد الأدنى للحجم (بالبايت) لجدول Delta على جانب التحقيق من الصلة المطلوبة لتشغيل تقليم الملف الديناميكي. إذا لم يكن جانب الفحص كبيرا جدا، فمن المحتمل أنه ليس من المفيد دفع عوامل التصفية، ويمكننا ببساطة مسح الجدول بأكمله. يمكنك العثور على حجم جدول Delta عن طريق تشغيل DESCRIBE DETAIL table_name الأمر ثم النظر إلى sizeInBytes العمود.
  • spark.databricks.optimizer.deltaTableFilesThreshold (الافتراضي هو 10): يمثل عدد ملفات جدول Delta على جانب التحقيق من الصلة المطلوبة لتشغيل تقليم الملفات الديناميكية. عندما يحتوي الجدول الجانبي للتحقيق على ملفات أقل من قيمة الحد، لا يتم تشغيل تشذيب الملفات الديناميكية. إذا كان الجدول يحتوي على عدد قليل من الملفات، فمن المحتمل ألا يكون من المفيد تمكين تقليم الملفات الديناميكية. يمكنك العثور على حجم جدول Delta عن طريق تشغيل DESCRIBE DETAIL table_name الأمر ثم النظر إلى numFiles العمود.