hbase初识
一、HBase是一个分布式的、面向列的开源数据库。一个结构化数据的分布式存储系统”。HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
二、在理解Hbase的时候最难的部分就是理解Hbase的数据结构。简化一点Hbase就是一个三维的数据库。第一维度:row key(理解成mysql的主键ID)。第二维度:colum-family(理解成mysql的列)。第三维度column(理解为mysql的行列坐标下的JSON数据存储)。
三、技术架构
1、HMaster节点
HMaster主要用于HRegion的分配和管理;
2、RegionServer节点
HRegionServer是HBase集群中具体对外提供服务的进程
3、ZooKeeper集群
ZooKeeper是HBase集群的协调者,为HBase集群提供协调服务。
四、简单部署
version: '3' services: xbd-hbase: image: harisekhon/hbase:2.1 restart: always container_name: xbd-hbase privileged: true ports: - 2181:2181 - 16010:16010
五、测试
docker exec -it xbd-hbase /bin/bash
hbase shell
六、Hbase基本语法
1、创建 create '表名称', '列名称1','列名称2','列名称N' 2、添加记录 put '表名称', '行名称', '列名称:', '值' 3、查看记录 get '表名称', '行名称' 4、查看表中记录总数 count '表名称' 5、删除记录 delete '表名' ,'行名称' , '列名称' 6、删除一张表 先要屏蔽该表,才能对该表进行删除, 第一步 disable '表名称' 第二步 drop '表名称' 7、查看所有记录 scan "表名称" 8、查看某个表某个列中所有数据 scan "表名称" , \['列名称:'\]