HBase详细介绍及原理解析!
基本介绍HBase官网:https://hbase.Apache.org/ 。
Apache HBase 是 Hadoop中一个支持分布式的、可扩展的大数据存储的数据库 。
当需要对大数据进行随机、实时读/写访问时,可以用 Apache HBase 。
HBase特点列式存储:
HBase是面向列族的非关系型数据库,每行数据列都可以不同 , 并且列可以按照需求进行动态增加 。
【HBase详细介绍及原理解析!】因此在开始创建HBase表时,可以只创建列族,等需要时再创建相应的列 。
数据压缩:
列式存储意味着数据往往类型相同 , 可以采用某种压缩算法进行统一的压缩存储 。
海量存储:
HDFS支持的海量存储,存储PB级数据仍能有百毫秒内的响应速度 。
基本操作Shell操作进入HBase客户端命令操作界面:
hbase shell
查看帮助命令:
hbase(mAIn):001:0> help
查看当前数据库中有哪些表:
hbase(main):006:0> list
创建一张表:
创建user表,包含base_info、extra_info两个列族 。
hbase(main):007:0> create 'user', 'base_info', 'extra_info'
create 'user', {NAME => 'base_info', VERSIONS => '3'},{NAME => 'extra_info'}
添加数据操作:
向user表中插入信息 , row key为 rk0001,列族base_info中添加name列标示符,值为zhangsan 。
hbase(main):008:0> put 'user', 'rk0001', 'base_info:name', 'zhangsan'
向user表中插入信息,row key为rk0001,列族base_info中添加age列标示符,值为20 。
hbase(main):010:0>put 'user', 'rk0001', 'base_info:age', 20
查询数据:
通过rowkey进行查询:
- 获取user表中row key为rk0001的所有信息 。
hbase(main):006:0> get 'user', 'rk0001'
查看rowkey下面的某个列族的信息:- 获取user表中row key为rk0001,base_info列族的所有信息 。
hbase(main):007:0> get 'user', 'rk0001', 'base_info'
查看rowkey指定列族指定字段的值:- 获取user表中row key为rk0001,base_info列族的name、age列标示符的信息 。
hbase(main):008:0> get 'user', 'rk0001', 'base_info:name', 'base_info:age'
查看rowkey指定多个列族的信息- 获取user表中row key为rk0001,base_info、extra_info列族的信息 。
hbase(main):010:0> get 'user', 'rk0001', 'base_info', 'extra_info'
hbase(main):011:0> get 'user', 'rk0001', {COLUMN => ['base_info', 'extra_info']}
hbase(main):012:0> get 'user', 'rk0001', {COLUMN => ['base_info:name', 'extra_info:address']}
指定rowkey与列值查询:- 获取user表中row key为rk0001 , cell的值为zhangsan的信息 。
hbase(main):013:0> get 'user', 'rk0001', {FILTER => "ValueFilter(=, 'binary:zhangsan')"}
指定rowkey与列值模糊查询:- 获取user表中row key为rk0001,列标示符中含有a的信息 。
hbase(main):015:0> get 'user', 'rk0001', {FILTER => "(QualifierFilter(=,'substring:a'))"}
插入一批数据:hbase(main):016:0> put 'user', 'rk0002', 'base_info:name', 'fanbingbing'hbase(main):017:0> put 'user', 'rk0002', 'base_info:gender', 'female'hbase(main):018:0> put 'user', 'rk0002', 'base_info:birthday', '2000-06-06'hbase(main):019:0> put 'user', 'rk0002', 'extra_info:address', 'Shanghai'
查询所有数据:- 查询user表中的所有信息 。
hbase(main):020:0> scan 'user'
列族查询:- 查询user表中列族为 base_info 的信息 。
- 设置是否开启Raw模式,开启Raw模式会返回包括已添加删除标记但是未实际删除的数据 。
推荐阅读
- steam怎么换区 steam两种转区方法介绍
- 郑梓妍扮演者是谁?郑梓妍扮演者钟晨瑶介绍
- 中秋节介绍 中秋节介绍英语作文
- 纸张种类 纸张种类大全介绍
- 水玻璃的特性及用途介绍 水玻璃的特性及用途
- 南京春节的风俗有哪些,南京人结婚风俗都有哪些介绍的详细些
- 电信星卡29元套餐介绍,电信星卡可以添加副卡
- 华为手表gt2功能介绍,华为手表gt2怎么设置
- 罗非鱼钓法介绍 罗非鱼如何钓
- Scylla数据库-高性能的分布式数据库