創建bloom過濾器索引

適用於:勾選“是”磚的SQL勾選“是”磚運行時

為新的或重寫的數據創建Bloom過濾器索引;它為現有數據創建Bloom過濾器。如果表名或其中一列不存在,該命令將失敗。如果對列啟用了Bloom篩選,則現有的Bloom篩選選項將被新選項替換。

語法

創建BLOOMFILTER指數表格table_namecolumnName1選項(,...選項選項選項key1val1(,...

參數

雖然不能為已經寫入的數據構建Bloom篩選器索引,但是優化命令為重新組織的數據更新Bloom過濾器。因此,您可以通過運行來回填Bloom過濾器優化放在桌子上:

  • 如果您之前沒有優化該表。

  • 使用不同的文件大小,需要重新寫入數據文件。

  • 與一個ZORDER(或不同的ZORDER,如果已經存在的話),要求重新寫入數據文件。

您可以通過在列級或表級定義選項來調優Bloom過濾器:

  • fpp:假陽性概率。每個寫好的Bloom過濾器期望的假陽性率。這將影響將單個項目放入Bloom過濾器所需的比特數,並影響Bloom過濾器的大小。取值必須大於0且小於等於1。默認值是0.1,每項需要5位。

  • numItems:文件可以包含的不同項的數目。此設置對於過濾質量非常重要,因為它會影響Bloom篩選器中使用的總位數(項數-每個項的位數)。如果該設置不正確,Bloom過濾器要麼非常稀疏,浪費磁盤空間並減慢必須下載此文件的查詢,要麼太滿而不太準確(更高的FPP)。取值必須大於0。默認值是100萬個條目。

  • maxExpectedFpp:預期不將Bloom filter寫入磁盤的FPP閾值。布隆過濾器被寫入時的最大期望假陽性概率。如果期望的FPP大於此閾值,則布魯姆濾波器的選擇性過低;使用Bloom過濾器所花費的時間和資源超過了它的實用性。取值範圍為0 ~ 1。默認值是1.0(禁用)。

這些選項僅在寫入數據時發揮作用。您可以在不同的層次級別上配置這些屬性:寫操作、表級和列級。列級別優先於表和操作級別,表級別優先於操作級別。

看到布盧姆濾波指數