Bloom filtre dizinleri
Not
Foton özellikli işlem ve Databricks Runtime 12.2 veya üzerini kullanırken tahmine dayalı G/Ç, okuma performansı için bloom filtrelerinden daha iyi performans gösterir. Bkz. Tahmine dayalı G/Ç nedir?.
Databricks Runtime 13.3 ve üzeri sürümleri için Databricks, Delta tablo düzeni için kümeleme kullanılmasını önerir. Bkz. Delta tabloları için sıvı kümeleme kullanma.
Databricks, bu özellikleri desteklemeyen işlem kullanılırken yalnızca Bloom filtrelerinin kullanılmasını önerir.
Bloom filtre dizini, özellikle rastgele metin içeren alanlar için seçilen sütunlarda verilerin atlanması için alan açısından verimli bir veri yapısıdır.
Bloom filtre dizinleri nasıl çalışır?
Azure Databricks Bloom filtre dizinleri, her veri dosyası için bir veri atlama dizininden oluşur. Bloom filtre dizini, bir sütun değerinin kesin olarak dosyada olmadığını veya büyük olasılıkla dosyada olduğunu belirlemek için kullanılabilir. Bir dosyayı okumadan önce Azure Databricks dizin dosyasını denetler ve dizin dosyanın bir veri filtresiyle eşleşebileceğini gösteriyorsa dosya salt okunur olur.
Bloom filtreleri, şu giriş veri türlerine sahip sütunları destekler: byte
, short
, int
, long
, float
, , double
date
, timestamp
ve string
. Null değerler Bloom filtresine eklenmez, bu nedenle null ile ilgili herhangi bir filtre veri dosyasının okunmasını gerektirir. Azure Databricks şu veri kaynağı filtrelerini destekler: and
, or
, in
, equals
ve equalsnullsafe
. Bloom filtreleri iç içe sütunlarda desteklenmez.
Yapılandırma ve başvuru
Bloom filtresini etkinleştirmek için aşağıdaki söz dizimini kullanın:
CREATE BLOOMFILTER INDEX
ON TABLE table_name
FOR COLUMNS(column_name OPTIONS (fpp=0.1, numItems=5000))
Söz dizimi ayrıntıları için bkz . CREATE BLOOM FILTER INDEX ve DROP BLOOM FILTER INDEX.
Bloom filtre işlemlerini devre dışı bırakmak için oturum düzeyi spark.databricks.io.skipping.bloomFilter.enabled
yapılandırmasını olarak false
ayarlayın.
Bloom filtre dizinlerini görüntüleme
Dizin listesini görüntülemek için şunu çalıştırın:
spark.table("<table-with-indexes>").schema.foreach(field => println(s"${field.name}: metadata=${field.metadata}"))
Örneğin:
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin