BLOOM FILTRE DIZINI OLUŞTURMA
Şunun için geçerlidir: Databricks SQL denetimi yes Databricks Runtime
Yeni veya yeniden yazılan veriler için bir Bloom filtre dizini oluşturur; mevcut veriler için Bloom filtreleri oluşturmaz . Tablo adı veya sütunlardan biri yoksa komut başarısız olur. Bir sütun için Bloom filtreleme etkinleştirildiyse, mevcut Bloom filtre seçenekleri yeni seçeneklerle değiştirilir.
Sözdizimi
CREATE BLOOMFILTER INDEX
ON [TABLE] table_name
FOR COLUMNS( { columnName1 [ options ] } [, ...] )
[ options ]
options
OPTIONS ( { key1 [ = ] val1 } [, ...] )
Parametre
-
Var olan bir Delta tablosunu tanımlar. Ad bir geçici belirtim içermemelidir.
Önceden yazılmış veriler için Bloom filtre dizini oluşturmak mümkün olmasa da OPTIMIZE komutu yeniden düzenlenmiş veriler için Bloom filtrelerini güncelleştirir. Bu nedenle, bir tabloda çalıştırarak OPTIMIZE
Bloom filtresini geri doldurabilirsiniz:
- Tabloyu daha önce en iyi duruma getirdiyseniz.
- Farklı bir dosya boyutuyla, veri dosyalarının yeniden yazılması gerekir.
- Veri dosyalarının yeniden yazılması gereken bir
ZORDER
(veya varsa farklıZORDER
bir ile).
Sütun düzeyinde veya tablo düzeyinde seçenekleri tanımlayarak Bloom filtresini ayarlayabilirsiniz:
fpp
: Hatalı pozitif olasılık. Yazılı Bloom filtresi başına istenen hatalı pozitif oran. Bu, Bloom filtresine tek bir öğe koymak için gereken bit sayısını etkiler ve Bloom filtresinin boyutunu etkiler. Değer 0'dan büyük ve 1'den küçük veya buna eşit olmalıdır. Varsayılan değer, öğe başına 5 bit gerektiren 0,1'dir.numItems
: Dosyanın içerebileceği farklı öğelerin sayısı. Bu ayar, Bloom filtresinde kullanılan toplam bit sayısını (öğe sayısı - öğe başına bit sayısı) etkilediği için filtreleme kalitesi açısından önemlidir. Bu ayar yanlışsa, Bloom filtresi çok seyrek doldurulur, disk alanını boşa harcar ve bu dosyayı indirmesi gereken sorguları yavaşlatırsa veya çok dolu ve daha az doğru (daha yüksek FPP) olur. Değer 0'dan büyük olmalıdır. Varsayılan değer 1 milyon öğedir.maxExpectedFpp
: Bloom filtresinin diske yazıldığı beklenen maksimum hatalı pozitif olasılık. Beklenen FPP bu eşikten büyükse Bloom filtresinin seçiciliği çok düşük; Bloom filtresini kullanmak için gereken süre ve kaynaklar kullanışlılığından daha fazladır. Değer 0 ile 1 arasında olmalıdır. Varsayılan değer 1.0'dır (devre dışı).
Bu seçenekler yalnızca veriler yazılırken rol oynar. Bu özellikleri çeşitli hiyerarşik düzeylerde yapılandırabilirsiniz: yazma işlemi, tablo düzeyi ve sütun düzeyi. Sütun düzeyi tablo ve işlem düzeylerine göre önceliklidir ve tablo düzeyi işlem düzeyinden önceliklidir.