在hbase shell中過濾器的簡單使用

在hbase shell中查詢數據,能夠在hbase shell中直接使用過濾器:shell

# hbase shell
> scan 'testByCrq', FILTER=>"ValueFilter(=,'substring:111')"
  • 1
  • 2

如上命令所示,查詢的是表名爲testByCrq,過濾方式是經過value過濾,匹配出value含111的數據。 
因在hbase shell中一些操做比較麻煩(好比刪除字符需先按住ctrl在點擊退格鍵),且退出後,查詢的歷史紀錄不可考,故以下方式是比較方便的一種:bash

# echo "scan 'testByCrq', FILTER=>\"ValueFilter(=,'substring:111')\"" | hbase shell
  • 1

如上命令,可在bash中直接使用,表名是testByCrq,過濾方式是經過value過濾,匹配出value含111的數據,中間的"須要用\轉義。code

如下介紹在hbase shell中經常使用的過濾器:string

> scan 'testByCrq', FILTER=>"RowFilter(=,'substring:111')"
  • 1

如上命令所示,查詢的是表名爲testByCrq,過濾方式是經過rowkey過濾,匹配出rowkey含111的數據。test

> scan 'testByCrq', FILTER=>"RowFilter(=,'binary:0111486816556')"
  • 1

如上命令所示,查詢的是表名爲testByCrq,過濾方式是經過rowkey過濾,匹配出rowkey等於0111486816556的數據。數據

> scan 'testByCrq', FILTER=>"RowFilter(<=,'binary:0111486816556')"
  • 1

如上命令所示,查詢的是表名爲testByCrq,過濾方式是經過rowkey過濾,匹配出rowkey小於等於0111486816556的數據。查詢

> scan 'testByCrq', FILTER=>"ValueFilter(=,'substring:111')"
  • 1

如上命令所示,查詢的是表名爲testByCrq,過濾方式是經過value過濾,匹配出value含111的數據。co

> scan 'testByCrq', FILTER=>"FamilyFilter(=,'substring:f')"
  • 1

如上命令所示,查詢的是表名爲testByCrq,過濾方式是經過列簇過濾,匹配出列簇含f的數據。 
注:substring不能使用小於等於等符號。字符

> scan 'testByCrq', FILTER=>"PrefixFilter('00000')"
  • 1

如上命令所示,查詢的是表名爲testByCrq,過濾方式是經過前綴過濾過濾的是行鍵,匹配出前綴爲00000的數據。hbase

相關文章
相關標籤/搜索