0


HBase的增删改查

学习HBase

一、HBase的定义

一种分布式、可扩展、支持海量数据存储的Nosql数据库。

二、HBase 逻辑结构

三、HBase 物理存储结构

四、 数据模型

****1.****NameSpace

命名空间,类似于关系型数据库的 DatabBase 概念,每个命名空间下有多个表。HBase 有两个自带的命名空间,分别是 hbase 和 default,hbase 中存放的是 HBase 内置的表,default 表是用户默认使用的命名空间。

****2.****Region

Region是HBase数据存储和管理的基本单位,类似于关系型数据库的表概念。不同的是,HBase 定义表时只需要声明列族即可,不需要声明具体的列。这意味着,往 HBase 写入数据时,字段可以动态、按需指定。因此,和关系型数据库相比,HBase 能够轻松应对字段变更的场景。

****3.****Row

HBase 表中的每行数据都由一个 RowKey 和多个 Column(列)组成,数据是按照 RowKey 的字典顺序存储的,并且查询数据时只能根据 RowKey 进行检索,所以 RowKey 的设计十分重要。

****4.****Column

HBase 中的每个列都由 Column Family(列族)和 Column Qualifier(列限定符)进行限

定,例如 info:name,info:age。建表时,只需指明列族,而列限定符无需预先定义。

****5.****Time Stamp

用于标识数据的不同版本(version),每条数据写入时,如果不指定时间戳,系统会

自动为其加上该字段,其值为写入 HBase 的时间。

****6.****Cell

由 {rowkey, column Family:column Qualifier, time Stamp} 唯一确定的单元。cell 中的数

据是没有类型的,全部是字节码形式存贮。

五、HBase Shell操作

1.基本操作命令

1.进入HBase数据库的
hbase shell

2.查看帮助

help

3.查看当前数据库有哪些命名空间以及对应命名空间下的表

list

4.退出hbase数据库

exit

5.查看当前版本

version

6.退格
ctrl+backspace

2.【NameSpace】命名空间基本操作命令

1.创建命名空间
create_namespace ‘stu2’

2.删除命名空间

drop _namespace ‘stu2’

3.查看所有的命名空间

list_namespce

4.查看指定命名空间下的表

list_namespace_tables ‘stu2’

5.查看指定命名空间

describe_namspace 'stu2'

3.【Table】表的操作命令

3.1增

1.已存在的表中新增列族

alter ‘stu2:student1’,’schoolinfo’

2.在命名空间中新建表

create ‘stu2:student1’,’baseinfo’

create ‘stu2:student2’,{NAME=>’baseinfo’},{NAME=>’schoolinfo’}

3.表中插入数据

put ‘stu2:student1’,’1001’,’baseinfo:sex’,’male’

put ‘stu2:student1’,’1001’,baseinfo:age’,’18’

put ‘stu2:student1,’1002’,’baseinfo:name’,’小红’

put ‘stu2:student1,’1002’,’baseinfo:sex’,’female’

put ‘stu2:student1,’1001’,baseinfo:age’,’20’

3.2删

1.删除命名空间:

drop_namespace ‘stu3’

2.删除表:删表之前必须先禁用表

disable ‘stu2:student’ 注:is_disabled命令查看表是否被禁用

关闭后要启用才能操作表 enable ‘stu2:student2’

drop ‘stu2:student’

3.删除某列族的全部数据

alter ‘ stu2:student3 ’, ‘delete’ => ‘ schoolinfo ’

4.删除某行的数据

deleteall ‘stu2:student3’,’1001’

5.删除某rowkey的某一列数据

delete ‘stu2:student2,’1001’,’schoolinfo:sex’

6.清空表数据

Disable ‘stu2:student2’需要先禁用 【启用表 enable ‘stu2:student2’】

Truncate ‘stu2:student2’

3.3改

更新指定字段的数据

put ‘stu2:student1’,’1001’,’baseinfo:name’,’小刚’

Put ‘stu2:student1,’1001’,’baseinfo:age’,’100’

3.4查

1.查看表结构

describe ‘stu2:student’

2.查看表数据

Scan ‘stu2:student’

3.根据条件查看表数据(关键字大写)

scan ‘stu2:student1’,{LIMIT=>1}

4.查看指定行或者指定列族:列的数据

get ‘stu2:student1’,’1001’

get ‘stu2:student1,’1001’,’baseinfo:name’

4.其他命令

1.统计表数据行数

Count ‘stu2:student1’

2.显示stu开头的表

List ‘stu.*’

3.变更表信息,将baseinfo列族中的数据存放3个版本

Alter ‘stu2:student1’,{NAME=>’schoolinfo’,VERSIONS=>3}

验证一下

Get ‘stu2:student1’,’1001’,{COLUMN=>’schoolinfo:schoolname’,VERSIONS=>3}

4.查看状态

Status

5.判断表是否存在

Exists ‘stu2:student’


本文转载自: https://blog.csdn.net/qq_50904598/article/details/131105950
版权归原作者 定海一棒~万妖朝 所有, 如有侵权,请联系我们删除。

“HBase的增删改查”的评论:

还没有评论