目录
HBase:
OLTP和OLAP的区别
HBase基础:
架构
HBase的简单操作:
重置HBase:
HBase shell操作:
1、进入HBase shell
2、创建表
3、查看所有表
4、查看表详情
5、表修改
6、插入数据
7、根据rowKey查询某个记录
8、查询所有记录
9、统计表记录数
10、删除
11、禁用表
12、启用表
13、测试表是否存在
HBase:
No SQL、半结构化、实时查询的分布式数据库
OLTP和OLAP的区别
OL online
OLTP:
简单的事务,面向应用,数据库,偏应用
OLAP:
复杂的查询,面向主题,数仓,偏决策
HBase基础:
Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩、实时读写的分布式数据库
利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据
元数据在zookeeper中
主要用来存储非结构化和半结构化的松散数据(列存NoSQL)
架构
Master
为Region server分配region(分区,区域)
负责Region server的负载均衡
发现失效的Region server并重新分配其上的region
管理用户对table的增删改操作
RegionServer
Region server维护region,处理对这些region的IO请求
Region server负责切分在运行过程中变得过大的region
HBase的简单操作:
master:16010
System Tables中存储命名空间,表名
删除默认删除后面的,按住ctrl删除前面
可以使用idea,java API
创建表:
create 'test','info'
查看表:
list
scan 'test' 指定范围
get 'test','001' 只获取一条
插入数据:
put 'test','000','info:name','zhaosi'
重置HBase:
先停止hbase进程
删除zk中的hbase rmr /hbase
删除hadoop中的hbase hdfs dfs -rmr /hbase
启动hbase start-hbase.sh
HBase shell操作:
1、进入HBase shell
hbase shell
2、创建表
create
,{NAME=> ,VERSIONS=>} |
创建一个User表,并且有一个info列族
create 'User','info'
3、查看所有表
list
4、查看表详情
describe 'User'
5、表修改
删除指定的列族
alter 'User','delete' => 'into'
添加新的列族
alter 'User',NAME => 'into'
6、插入数据
put
,,, |
7、根据rowKey查询某个记录
get
,,[,...] |
get 'User','row2'
8、查询所有记录
语法:scan
,{COLUMNS=>[,...],LIMIT=>num} |
扫描所有记录
scan 'User'
扫描前两条
scan 'User',{LIMIT=>2}
范围查询STARTROW(开始ROWKEY) ENDROW(结束ROWKEY)
scan 'User', {STARTROW=>'row2'}
scan 'User', {STARTROW=>'row2',ENDROW=>'row2'}
scan 'User', {STARTROW=>'row2',ENDROW=>'row3'}
范围必须大写,结果不包括ENDROW
9、统计表记录数
语法:count
,{INTERVAL => intervalNum,CACHE => cacheNum} |
INTERVAL设置多少行显示一次及对应的rowkey,默认为1000;CACHE每次去取的缓存大小,默认10
适当调整可以提高速度
10、删除
删除列:delete 'User','row1','info:age'
指定rowkey删除
deleteall 'User','row2'
删除表中所有数据
truncate 'User'
删除表之前必须先disable
11、禁用表
disable ‘User’
12、启用表
enable 'User'
13、测试表是否存在
exists 'User'