BLOOM FILTRE DIZINI OLUŞTURMA

Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL denetimi yes Databricks Runtime olarak işaretlendi

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

Ö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ı ZORDERbir 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.

Bkz . Bloom filtre dizinleri.