تشذيب الملف الديناميكي
يمكن أن يؤدي تشذيب الملفات الديناميكي إلى تحسين أداء العديد من الاستعلامات على جداول 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
العمود.