Hbase shell 过滤器(1)(实例讲解)_资深咸鱼~的博客-优快云博客
接上一篇行键过滤器的实例讲解 ,这篇主要讲解列族和列过滤器
二、列族和列过滤器
(1)列族过滤器
知识点:
1、语法与行键过滤器相似
2、FamilyFilter 是对列族名称进行过滤的
实例:
1、过滤出列族为info2的列数据
scan 'booksystem:bookinfo',FILTER=>"FamilyFilter(=,'binary:info2')"
2、过滤出列族名包含info的数据
scan 'booksystem:bookinfo',FILTER=>"FamilyFilter(=,'substring:info')
(2)列过滤器
知识点:
1、QualifierFilter:列标识过滤器,只显示对应列名的数据
2、ColumnPrefixFilter:对列名称的前缀进行过滤
QualifierFilter和ColumnPrefixFilter过滤效果相似,只是QualifierFilter无需结合比较运算符和比较器即可完成字符串前缀的过滤
3、MultipleColumnPrefixFilter:可以指定多个前缀对列名称过滤,是对ColumnPrefixFilter的延伸
4、ColumnRangeFilter:过滤列名称的范围,例如过滤出列名1——列名2之间的列;并且只能从列名1写到列名2,不能写反;起始和终止列名用单引号引用;false和true参数指明结果中是否包含起始(终止)列——false就是不包含那个列名
实例:
1、过滤出type列 QualifierFilter
scan 'booksystem:bookinfo',FILTER=>"QualifierFilter(=,'substring:type')”
注意: 这里的substring也可以替换为binary
如图,一样的结果:
2、过滤出包含e的列 QualifierFilter
scan 'booksystem:bookinfo',FILTER=>"QualifierFilter(=,'substring:e')"
(这博主忘截图了)
3、过滤出列名以n 开头的列 ColumnPrefixFilter
scan 'booksystem:bookinfo',FILTER=>"ColumnPrefixFilter('n')"
4、过滤出列名前缀为n和p的列 MultipleColumnPrefixFilter
scan 'booksystem:bookinfo',FILTER=>"MultipleColumnPrefixFilter('n','p')"
5、过滤出name-type之间的列 ColumnRangeFilter
scan 'booksystem:bookinfo',FILTER=>"ColumnRangeFilter('name',true,'type',false)"
再次强调:列名之间的列不能将列名写反