Hbase Shell Filter 过滤
Get 和 Scan 操作都可以使用過濾器來設置輸出的范圍,類似于 SQL 里面的 Where 查詢條件。使用 show_filters 命令可以查看當前 HBase 支持的 過濾器類型。
show_filters使用過濾器的語法格式:
scan '表名',{Filter => ”過濾器(比較運算符,’比較器’)”}?
解釋:Filter=>指明過濾的方法,整體可用大括號引用,也可以不用大括
號。過濾的方法使用雙引號引用,而比較方式用小括號引用。
行鍵過濾器:
1.RowFilter:針對行鍵進行過濾
例子:
?
2.PrefixFilter:行鍵前綴過濾器
scan 'student',FILTER=>"PrefixFilter('001')" 掃描前綴為001的行鍵?
3.FirstKeyOnlyFilter:掃描全表,顯示每個邏輯行的第一個鍵值對
scan 'student',FILTER=>"FirstKeyOnlyFilter()"?
4.InclusiveStopFilter:替代ENDROW返回終止條件行;
掃描顯示行鍵001到002范圍內的鍵值對:
?
列族與列過濾器:
1.FamilyFilter:針對列族進行比較和過濾。
?
2.QualifierFilter:列標識過濾器。
scan 'student',FILTER=>"QualifierFilter(=,'substring:name')" 顯示列名為name的記錄;?
3.ColumnPrefixFilter:對列名前綴進行過濾。
scan 'student',FILTER=>"ColumnPrefixFilter('name’)” 顯示列名為name的記錄;?
4.MultipleColumnPrefixFilter:可以指定多個前綴
scan 'student',FILTER=>"MultipleColumnPrefixFilter('name','age')" 顯示列名為name和age的記錄;?
5.ColumnRangeFilter :設置范圍按字典序對列名進行過濾;
scan 'student',FILTER=>"ColumnRangeFilter('bi',true,'na',true)"?
值過濾器:
1.ValueFilter :值過濾器
?
2.SingleColumnValueFilter :在指定的列族和列中進行值過濾器。
scan 'student', {COLUMN=>'stuinfo:age',FILTER=>"SingleColumnValueFilter('stuinfo','age',=,' binary:19')"} 查詢stuinfo列族age列中值等于19的所有鍵值對?
其他過濾器:
1.ColumnCountGetFilter :限制每個邏輯行返回的鍵值對數
?
2.PageFilter :基于行的分頁過濾器,設置返回行數。
scan 'student',FILTER=>"PageFilter(1)"?
3.ColumnPaginationFilter :基于列的進行分頁過濾器,需要設置偏移量與 返回數量 。
scan 'student',FILTER=>"ColumnPaginationFilter(2,1)" 顯示每行第1列之后的2個鍵值對總結
以上是生活随笔為你收集整理的Hbase Shell Filter 过滤的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算图像的直方图,求峰值点
- 下一篇: cuda的global memory介绍