- 简介
- nosql的一种,数据存储在hdfs中
- 数据模型
- namespace 每个命名空间下有多个表table;HBase有两个自带的命名空间,分别是hbase和default,hbase中存放的是HBase内置的表,default表是用户默认使用的命名空间。
- table 定义时,只需要声明列族,不需要声明列(限定符);写入时字段(列限定符)可以动态指定。
- row 每行数据都由一个RowKey和多个Column(列)组成;查询要根据rowkey检索-是唯一的;n行是一个region。
- column 每个列都由Column Family(列族)和Column Qualifier(列限定符)进行限定;实际根据列族进行存储-store。
- time stamp 用插入新数据的方式进行修改,查询时显示ts(时间戳)更大的那条数据。
- 架构
- regionserver 维护region,r中有store,s中有storefile
- master 用ha来监督master
- hbase的shell操作
- name_space-注意只有空时(没有表)才能删除
- table-ddl
- 查看&创建
- 创建时可以指定维护几个版本,超过的就真的删除掉了,默认一个版本
- 创建时可以指定维护几个版本,超过的就真的删除掉了,默认一个版本
- 修改&删除--删除前需要先禁用disable表(is_disable查看是否是禁用状态)
- 查看表是否存在&查看表的区域
- 区域是有n行组成的,所以有开始和结束的key;但只有一个区域时没有
- 区域是有n行组成的,所以有开始和结束的key;但只有一个区域时没有
- 查看&创建
- table-dml
- 创建&插入数据--rowkey来确定条数,所以插入了两条数据
- 查询数据
- 查询部分数据
- 查询全部数据-scan扫描--也可以指定扫描范围
- 修改&删除
- 查询部分数据
- 创建&插入数据--rowkey来确定条数,所以插入了两条数据
- name_space-注意只有空时(没有表)才能删除
- API
- 对象有connection,table-dml,admin-ddl;从connectionfactory来;用完手动关掉
- 配置从zk找
- hbase-site中有zk地址
- 配置从zk找
- 对象有connection,table-dml,admin-ddl;从connectionfactory来;用完手动关掉
- 整合phoenix
- 可以使用jdbc的api代替hb客户端来建表,能直接写sql;但效率不如自己设计rowkey时高