一、官网
英文 https://hbase.apache.org/https://hbase.apache.org/
二、数据模型
1.逻辑视图
json表示形式
2.物理视图
表空间:
Hbase中命名空间类似于传统数据库RDBMS中的:库,方便对表进行业务上的划分
行:
row1 info:name 张三
列族:
info由name和age两个列组成,info就是列簇
单元格
一个表中:rowkey+列簇+列+时间版本
表:
关系型数据库中
id name age
row1 张三 20
row2 李四 18
hbase中
rowkey 列簇
row1 info:name 张三
row1 info:age 20
row2 info:name 李四
row2 info:age 18
三、常见的HBase shell操作
HBase - Shellhttps://www.tutorialspoint.com/hbase/hbase_shell.htm
启动zookeeper----》hadoop--》hbase
1.连接到Hbase
在hbase 的bin目录下执行./hbase shell
2.创建命名空间
create_namespace 'my_ns'
3.建表
create 'my_ns:my_table', 'fam'
4.查看表结构
5.向表中添加数据
hbase:014:0> put 'my_ns:student','1','fam:name','张三'
hbase:018:0> put 'my_ns:student','1','fam:age',20
hbase:001:0> put 'my_ns:student','2','fam:name','李四'
hbase:002:0> put 'my_ns:student','2','fam:age',18
6.查询数据
查询所有数据使用scan命令进行扫描
之前给的ROWKEY为"1"的name是"张三",使用put命令重新给ROWKEY为"1"的name赋值为"Jim"
hbase:004:0> put 'my_ns:student','1','fam:name','Jim'
hbase:003:0> scan 'my_ns:student'
scan默认查出来的是最新版本的数据,想要查看被覆盖的数据使用参数RAW和VERSIONS
hbase:009:0> scan 'my_ns:student',{RAW=>true,VERSIONS=>3}
根据rowkey查询
hbase:021:0> get 'my_ns:student','1'
指定时间版本的查询