1. 创立一个 Rumenz
表
// 创立了两个列族 user 和 depart
> ./bin/hbase shell
> create 'Rumenz','user','depart'
2. 插入数据
> put 'Rumenz','user|id1','user:name','张三'
> put 'Rumenz','user|id1','depart:name','开发部'
> put 'Rumenz','user|id2','user:name','王五'
> put 'Rumenz','user|id2','depart:name','市场部'
> put 'Rumenz','user|tsc','user:name','入门'
> put 'Rumenz','user1|id1','user:name','小站'
3. 找出值为 张三
的记录
> scan 'Rumenz',FILTER=>"ValueFilter(=,'binary: 张三 ')"
4. 找出值中蕴含 部
字的记录
> scan 'Rumenz',FILTER=>"ValueFilter(=,'substring: 部 ')"
5. 找出列名以 dep
结尾的记录
> scan 'Rumenz',FILTER=>"ColumnPrefixFilter('dep')"
6. 找出列名以 ts
结尾并且值为 入门
的值
> scan 'Rumenz',FILTER=>"ColumnPrefixFilter('ts') AND ValueFilter(=,'binary: 入门 ')"
7. 找出 rowkey 以 user1
结尾
> scan 'Rumenz',FILTER=>"PrefixFilter('user1')"
8. 一个 rowkey 可能有会多个版本, 通过 FirstKeyOnlyFilter 能够获取最新版本的数据. 获取最新数据中值中蕴含 部
的数据
> scan 'Rumenz',FILTER=>"FirstKeyOnlyFilter() and ValueFilter(=,'substring: 部 ')"
9. 一个 rowkey 可能有会多个版本, 通过 FirstKeyOnlyFilter 能够获取最新版本的数据. 获取最新数据中值中蕴含 部
的数据并且只返回 key 不须要 value
> scan 'Rumenz',FILTER=>"FirstKeyOnlyFilter() and ValueFilter(=,'substring: 部 ') AND KeyOnlyFilter()"
10. 从 user|id2
行开始, 查问 rowkey 以 user
结尾的数据
> sacn 'Rumenz',{STARTROW=>'user|id2',FILTER=>"PrefixFilter('user')"}
11. 查找 rowkey 中蕴含 id
的数据
> scan 'Rumenz', {FILTER => RowFilter.new(CompareFilter::CompareOp.valueOf('EQUAL'), SubstringComparator.new('id'))}
12. 查找 user:name
列值为 王五
的数据并只显示 user:name
列
// 显示多个列应用 COLUMNS => ['user:name','xxxx']
>scan 'Rumenz', {COLUMNS => 'user:name', FILTER => SingleColumnValueFilter.new(Bytes.toBytes('user'), Bytes.toBytes('name'), CompareFilter::CompareOp.valueOf('EQUAL'), Bytes.toBytes('王五'))}