1.基本操作
(1)进入HBase客户端命令行
[root@lyx2 hbase120]$ $HBASE_HOME/bin/hbase shell
注意:进入到 shell 环境后,不能使用退格键,需要使用 crtl+退格键。
(2)查看帮助命令
hbase(main):001:0> help
(3)查看当前数据库中有哪些表
hbase(main):002:0> list
2.表的操作
(1)创建表
hbase(main):002:0> create 'customer', {NAME=>'addr'}, {NAME=>'order'}
或者
hbase(main):002:0> create 'customer','addr','order'
①NAME=>‘xxx’,xxx 为列族的名字。HBase 中创建一个表,必须指定至少一个列族。
②创建完表后,可以在 HDFS 上查看对应的目录结构,表其实就是对应 HDFS上一个目录。
③列族就对应 HDFS 上一个文件夹。
(2)插入数据表
hbase(main):003:0> put 'customer', 'jsmith', 'addr:city', 'montreal'
hbase(main):004:0> put 'customer', 'jsmith', 'addr:state', 'ON'
hbase(main):005:0> put 'customer', 'jsmith', 'order:numb', '123456'
hbase(main):006:0> put 'customer', 'jsmith', 'order:date', '2015-12-19'
(3)插入多行数据
put 'customer', 'jsmith', 'order:numb', '1235'
put 'customer', 'jsmith', 'order:numb', '1236'
put 'customer', 'jsmith', 'order:numb', '1237'
put 'customer', 'jsmith', 'order:numb', '1238'
put 'customer', 'njones', 'addr:city', 'miami'
put 'customer', 'njones', 'addr:state', 'FL'
put 'customer', 'njones', 'order:numb', '5555'
put 'customer', 'tsimmons', 'addr:city', 'dallas'
put 'customer', 'tsimmons', 'addr:state', 'TX'
put 'customer', 'jsmith', 'addr:city', 'denver'
put 'customer', 'jsmith', 'addr:state', 'CO'
put 'customer', 'jsmith', 'order:numb', '6666'
put 'customer', 'njones', 'addr:state', 'TX'
put 'customer', 'amiller', 'addr:state', 'TX'
(4)扫描查看表
可以看做一个过滤器
scan 'customer'
scan 'customer', {COLUMNS=>['order:numb'], VERSIONS => 2}
scan 'customer', {STARTROW => 'j', STOPROW => 't'}
(5)查看表结构
desc 'customer'
(6)更新指定字段的数据
put 'customer', 'jsmith', 'order:numb', '654321'
(7)7. 查看“指定行”或“指定列族:列”的数据
get 'customer', 'jsmith'
get 'customer', 'jsmith','addr'
get 'customer', 'jsmith','addr:city'
(8)统计表数据行数
count 'customer'
(9)删除数据
①删除某 rowkey 的全部数据:
deleteall 'customer','jsmith'
②删除某 rowkey 的某一列数据:
delete 'customer','njones','addr:city'
(10)清空数据表数据
truncate 'customer'
注意:清空表的操作顺序为先 disable,然后再 truncate。disable 的操作会自动完成。
(11)删除表
先disable再drop
disable 'customer'
drop 'customer'
(12)变更表信息
将 order 列族中的数据存放 3 个版本:
alter 'customer',NAME=>'order', VERSIONS=>5
(13)获取多版本数据
①先更新一条数据。
put 'customer', 'tsimmons', 'order:city', 'beijing'
②查看多版本数据。
get customer','tsimmons',{COLUMN=>'order:city',VERSIONS=>2}