Aracılığıyla paylaş


CREATE BLOOM FILTER INDEX

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş 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 filtrelemesi 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 } [, ...] )

Parametreler

Ö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 OPTIMIZE çalıştırarak Bloom filtresini yedekleyebilirsiniz:

  • Tabloyu daha önce optimize etmediyseniz.
  • Farklı bir dosya boyutuyla, veri dosyalarının yeniden yazılması gerekir.
  • Veri dosyalarının yeniden yazılması gereken bir ZORDER (veya zaten 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ılan 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 ayrı öğ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 için önemlidir. Bu ayar yanlışsa, Bloom filtresi çok seyrek doldurulur, disk alanını boşa harcar ve bu dosyayı indirmesi gereken sorguları yavaşlatıyor 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 olur; Bloom filtresini kullanmak için gereken süre ve kaynaklar yararlı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 daha önceliklidir; ayrıca, tablo düzeyi işlem düzeyine göre daha önceliklidir.

Bkz . Bloom filtre dizinleri.