1. 基本操作
1)进入HBase客户端命令行:
$HBASE_HOME/bin/hbase shell
2)查看命令帮助:
help
3)查看表空间,及表空间中表信息.
- 列出所有表空间
list_namespace
2. 列出某个表空间中所有的表
# list_namespace_tables 'namsespace'
list_namespace_tables 'hbase'
3. 列出当前namespace中所有表
list
2. 表的操作
- 创建表
# create 't1', {NAME => 'f1'}[, {NAME => 'f2'}, {NAME => 'f3'} ....]
# ↑可简写为:create 't1', 'f1'[, 'f2', 'f3' ....]
# t1 : 表名
# f1,f2,f3 : 列族
create 'student', 'info'
- 插入数据到表
# put 't1', 'r1','f1:c1','v1'
# t1 : 表名
# r1 :rowkey
# f1:c1 :列族:列
# v1: :为该列附的值
put 'student','1001','info:sex','male'
put 'student','1001','info:age','18'
put 'student','1002','info:name','Janna'
put 'student','1002','info:sex','female'
put 'student','1002','info:age','20'
- 查看表数据(扫描):
# 全表扫描
scan 'student'
# rowkey范围扫描(包含STARTROW,不包含STOPROW)
# 当前表中数据下面语法与scan 'student', {STOPROW => '1002'}返回结果相同
scan 'student', {STARTROW => '1001', STOPROW => '1002'}
# 指定rowkey扫描
scan 'student', {STARTROW => '1002'}
- 查看表结构
describe 'student'
- 更新指定字段(列)的数据
put 'student', '1001', 'info:name', 'Nick'
put 'student', '1001', 'info:age', '3'
- 查看指定行,或指定列族:列的数据
get 'student', '1001'
get 'student', '1001', 'info:name'
- 统计表中数据行数
count 'student'
# 如果想要精确到某列
count 'student', COLUMNS => ['info:name']
8. 删除数据
1)删除某rowkey的全部数据:
deleteall 'student', '1001'
2)删除某rowkey的某一列数据:
delete 'student', '1001', 'info:name'
- 清空表数据
truncate 'student'
注:
清空表的顺序是,先disable,再truncate
- 删除表
删除表需要先 让表处于disable状态,再删除.
disable 'student'
drop 'student'
- 改变表信息
# 列族中的数据会存放三个版本
alter 'student', {NAME => 'info', VERSIONS => 3}
put 'student', '1001', 'info:name', 'Nick'
put 'student', '1001', 'info:name', 'Nick002'
put 'student', '1001', 'info:name', 'Nick003'
get 'student', '1001', {COLUMN => 'info:name', VERSIONS => 3}
在添加一条数据,VERSION 1的数据就会被移除
put 'student', '1001', 'info:name', 'Nick004'