HBase中常用過濾器有哪些

小編給大家分享一下HBase中常用過濾器有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)公司科技有限公司專業(yè)互聯(lián)網(wǎng)基礎服務商,為您提供成都移動機房,高防服務器租用,成都IDC機房托管,成都主機托管等互聯(lián)網(wǎng)服務。

1. 比較過濾器
(1) 比較過濾器的操作符

LESS  <
LESS_OR_EQUAL <=
EQUAL =
NOT_EQUAL <>
GREATER_OR_EQUAL >=
GREATER >
NO_OP 排除所有

  
(2) 常用比較過濾器的比較器

BinaryComparator  按字節(jié)索引順序比較指定字節(jié)數(shù)組,采用Bytes.compareTo(byte[])
BinaryPrefixComparator 跟前面相同,只是比較左端的數(shù)據(jù)是否相同
NullComparator 判斷給定的是否為空
BitComparator 按位比較
RegexStringComparator 提供一個正則的比較器,僅支持 EQUAL 和非EQUAL
SubstringComparator 判斷提供的子串是否出現(xiàn)在value中

  
(3) 比較過濾器的實際應用
3-1) 行鍵過濾器 RowFilter

Filter filter = new RowFilter(CompareOp.LESS_OR_EQUAL,new BinaryComparator(Bytes.toBytes("row-22")));
scan.setFilter(filter);
  
Filter filter1 = new RowFilter(CompareOp.EQUAL, new SubstringComparator("-5"));
scan.setFilter(filter1);

  
3-2) 列族過濾器FamilyFilter

Filter filter1 = new FamilyFilter(CompareFilter.CompareOp.LESS, new BinaryComparator(Bytes.toBytes("colfam3")));
scan.setFilter(filter1); 

 
3-3) 列過濾器QualifierFilter

filter = new QualifierFilter(CompareFilter.CompareOp.LESS_OR_EQUAL, new BinaryComparator(Bytes.toBytes("col-2")));
scan.setFilter(filter1);

   
3-4) 值過濾器ValueFilter

Filter filter = new ValueFilter(CompareFilter.CompareOp.EQUAL, new SubstringComparator(".4") ); 
scan.setFilter(filter1);

   
2. 專用過濾器
(1) 前綴過濾器 PrefixFilter --針對行鍵

Filter fileter = new PrefixFilter(Bytes.toBytes("hello"));
scan.setFilter(fileter);

  
(2) 列前綴過濾器

Filter fileter = new ColumnPrefixFilter(Bytes.toBytes("hello"));
scan.setFilter(filter);

  
3. 正則表達式過濾(RegexStringComparator)

Scan scan = new Scan();
RegexStringComparator comp = new RegexStringComparator("you."); // 以 you 開頭的字符串
SingleColumnValueFilter filter = new SingleColumnValueFilter(Bytes.toBytes("family"), Bytes.toBytes("qualifier"), CompareOp.EQUAL, comp);
scan.setFilter(filter);

  
4. SubStringComparator
用于監(jiān)測一個子串是否存在于值中,并且不區(qū)分大小寫。

Scan scan = new Scan();
SubstringComparator comp = new SubstringComparator("1129"); // 查找包含 1129 的字符串
SingleColumnValueFilter filter = new SingleColumnValueFilter(Bytes.toBytes("family"), Bytes.toBytes("qualifier"), CompareOp.EQUAL, comp);
scan.setFilter(filter);

  
5. 布隆過濾器 BloomFilter
簡介:hbase的storefile有很多,隨機查的時候可能需要遍歷很多storefile,如果在建表的時候指定了bloomfilter,則在get查詢(scan不管用)的時候就可以過濾掉很多不符合規(guī)則的storefile,提高查詢效率。

以上是“HBase中常用過濾器有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

新聞標題:HBase中常用過濾器有哪些
標題網(wǎng)址:http://bm7419.com/article28/jdipcp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航、小程序開發(fā)、企業(yè)建站、做網(wǎng)站微信小程序、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站