HBase基本操作(0927)
2018-09-27 本文已影响0人
hipeer
- 建表
// 不直接指定储存多少版本
create 'users', 'profile', 'department'
// 在创建表时指定储存多少版本
create 'users', { NAME => 'profile', VERSIONS => 5 }, { NAME => 'department', VERSIONS => 5 }
// 修改表储存的版本数量
alter 'users' { NAME => 'profile', VERSIONS => 10 }
alter 'users' { NAME => 'department', VERSIONS => 5 }
// 也可以一次性修改
alter 'users' { NAME => 'profile', VERSIONS => 10 }, { NAME => 'department', VERSIONS => 5 }
- 插数据
// 语法
put '<table_name>', '<row_key>', '<colfamily>:<colunm>', '<value>'
put 'users', '1001', 'profile:name', 'steven'
- 取数据
get 'users', '1001'
get 'user', '1001', 'profile:name'
- 扫描表
scan 'users'
- 过滤器
// FirstKeyOnlyFilter 每一行的第一列数据
scan 'users', { FILTER => 'FirstKeyOnlyFilter()' }
// PrefixFilter(arg) 只返回row_key以arg开头行的数据
scan 'users', { FILTER => "PrefixFilter('1001')" }
// RowFilter 返回指定row_key之间的数据
scan 'users' { FILTER => "RowFilter(<, 'binary:1005') AND RowFilter(>, 'binary:1001')" }
// PageFilter(arg) 每一页返回arg行数据
scan 'users', { FILTER => "PageFilter(4)" }
scan 'users', { LIMIT => 4 }
- 统计表行数
count('users')
- 删除操作
// 删除列数据
delete 'users', '1001', 'profile:name'
// 删除列簇
delete 'users', 'delete' => 'profile'
// 删除一行数据
delete 'users', '1001'
// 删除表中所有数据
truncate 'users'