فهارس عامل تصفية Bloom
ملاحظة
عند استخدام الحوسبة التي تدعم Photon وDatabricks Runtime 12.2 أو أعلى، يتفوق الإدخال/الإخراج التنبؤي على عوامل تصفية الفتح لأداء القراءة. راجع ما هو الإدخال/إخراج التنبؤي؟.
في Databricks Runtime 13.3 والإصدارات الأحدث، توصي Databricks باستخدام التجميع لتخطيط جدول Delta. راجع استخدام التجميع السائل لجداول Delta.
توصي Databricks فقط باستخدام عوامل تصفية Bloom عند استخدام الحوسبة التي لا تدعم هذه الميزات.
فهرس عامل تصفية Bloom هو بنية بيانات فعالة في المساحة تمكن من تخطي البيانات على الأعمدة المختارة، خاصة بالنسبة إلى الحقول التي تحتوي على نص عشوائي.
تتكون فهارس عامل تصفية Azure Databricks Bloom من فهرس تخطي البيانات لكل ملف بيانات. يمكن استخدام فهرس عامل تصفية Bloom لتحديد أن قيمة العمود غير موجودة نهائيا في الملف، أو أنها موجودة على الأرجح في الملف. قبل قراءة ملف يتحقق Azure Databricks من ملف الفهرس، ولا تتم قراءة الملف إلا إذا كان الفهرس يشير إلى أن الملف قد يتطابق مع عامل تصفية البيانات.
تدعم عوامل تصفية Bloom الأعمدة مع أنواع بيانات الإدخال التالية: byte
و int
short
و.string
long
float
double
date
timestamp
لا تتم إضافة القيم الخالية إلى عامل تصفية Bloom، لذلك يتطلب أي عامل تصفية ذي صلة بالقيم الخالية قراءة ملف البيانات. يدعم Azure Databricks عوامل تصفية مصدر البيانات التالية: and
وor
in
equals
.equalsnullsafe
لا يتم اعتماد عوامل تصفية Bloom على الأعمدة المتداخلة.
استخدم بناء الجملة التالي لتمكين عامل تصفية Bloom:
CREATE BLOOMFILTER INDEX
ON TABLE table_name
FOR COLUMNS(column_name OPTIONS (fpp=0.1, numItems=5000))
للحصول على تفاصيل بناء الجملة، راجع إنشاء فهرس تصفية BLOOM وإفلات فهرس تصفية BLOOM.
لتعطيل عمليات تصفية Bloom، قم بتعيين تكوين مستوى spark.databricks.io.skipping.bloomFilter.enabled
الجلسة إلى false
.
لعرض قائمة الفهارس، قم بتشغيل:
spark.table("<table-with-indexes>").schema.foreach(field => println(s"${field.name}: metadata=${field.metadata}"))
على سبيل المثال: