1.基本操作
1.1 进入HBase客户端命令行
[luomk@hadoop102 hbase]$ bin/hbase shell
1.2 查看帮助命令
hbase(main):001:0> help
1.3 查看当前数据库中有哪些表
hbase(main):002:0> list
2.表的操作
1.1 创建表
hbase(main):002:0> create 'student','info'
1.2 插入数据到表
hbase(main):003:0> put 'student','1001','info:sex','male'
hbase(main):004:0> put 'student','1001','info:age','18'
hbase(main):005:0> put 'student','1002','info:name','Janna'
hbase(main):006:0> put 'student','1002','info:sex','female'
hbase(main):007:0> put 'student','1002','info:age',’20' 查看效果:
hbase(main):015:0> scan 'student'
ROW COLUMN+CELL
1001 column=info:age, timestamp=1537168179371, value=18
1001 column=info:sex, timestamp=1537168171354, value=male
1002 column=info:age, timestamp=1537168195932, value=20
1002 column=info:name, timestamp=1537168185919, value=Janna
1002 column=info:sex, timestamp=1537168191050, value=female
2 row(s) in 0.0140 seconds
1.3 扫描查看表数据
hbase(main):008:0> scan 'student'
hbase(main):009:0> scan 'student',{STARTROW => '1001', STOPROW => '1001'}
hbase(main):010:0> scan 'student',{STARTROW => '1001'}
1.4 查看表结构
hbase(main):011:0> describe 'student’
1.5 更新指定字段的数据
hbase(main):012:0> put 'student','1001','info:name','Nick'
hbase(main):013:0> put 'student','1001','info:age','100'
1.6 查看“指定行”或“指定列族:列”的数据
hbase(main):014:0> get 'student','1001'
hbase(main):015:0> get 'student','1001','info:name'
1.7 统计表数据行数
hbase(main):021:0> count 'student'
1.8 删除数据
删除某rowkey的全部数据:
hbase(main):016:0> deleteall 'student','1001'
删除某rowkey的某一列数据:
hbase(main):017:0> delete 'student','1002','info:sex'
1.9 清空表数据
hbase(main):018:0> truncate 'student'
提示:清空表的操作顺序为先disable,然后再truncate。
1.10 删除表
首先需要先让该表为disable状态:
hbase(main):019:0> disable 'student'
然后才能drop这个表:
hbase(main):020:0> drop 'student'
提示:如果直接drop表,会报错:ERROR: Table student is enabled. Disable it first.
1.11 变更表信息
将info列族中的数据存放3个版本:
hbase(main):022:0> alter 'student',{NAME=>'info',VERSIONS=>3}
3.命名空间的操作
3.1 介绍
在HBase中,namespace命名空间指对一组表的逻辑分组,类似RDBMS中的database,方便对表在业务上划分。Apache HBase从0.98.0, 0.95.2两个版本开始支持namespace级别的授权操作,HBase全局管理员可以创建、修改和回收namespace的授权。
3.2 namespace
HBase系统默认定义了两个缺省的namespace
hbase:系统内建表,包括namespace和meta表 default:用户建表时未指定namespace的表都创建在此
创建namespace
hbase>create_namespace 'ai_ns'
删除namespace
hbase>drop_namespace 'ai_ns'
查看namespace
hbase>describe_namespace 'ai_ns'
列出所有namespace
hbase>list_namespace
在namespace下创建表
hbase>create 'ai_ns:testtable', 'fm1'
查看namespace下的表
hbase>list_namespace_tables 'ai_ns'