这篇文章主要介绍了 hadoop 中 HBase 子项目入门的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。
HBase 提供了一个类似于 mysql 等关系型数据库的 hbase shell,通过该 hbase shell 可以对 HBase 的内的相关表、列族等进行操作;HBase shell 的 help 命令比较详细的列介绍了 HBase 所支持的命令.
在这里简单举个学生表 scores 的案例进行讲解,表数据如下:
name grad course:math course:english Tom 1 89 97 Jerry 2 100 90
这 里 grad 对于表来说是一个列,course 对于表来说是一个列族, 这个列族由两个列组成:math 和 english, 当然我们可以根据我们的需要在 course 中建立更多的列族, 如 computer,physics,art 等相应的列添加入 course 列族中。
下面列出常使用的 hbase shell 命令如下:
名称
命令表达式
创建表
create 表名称 , 列名称 1 , 列名称 2 , 列名称 N
添加记录
put 表名称 , 行名称 , 列名称: , 值
查看记录
get 表名称 , 行名称
查看表中的记录总数
count 表名称
删除记录
delete 表名 , 行名称 , 列名称
删除一张表
先要屏蔽该表,才能对该表进行删除,第一步 disable 表名称 第二步 drop 表名称
查看所有记录
scan 表名称
查看某个表某个列中所有数据
scan 表名称 , [列名称:]
更新记录
就是重写一遍进行覆盖
1、建立一个表格 scores 具有两个列族 grad 和 courese 案例如下:
hbase(main):002:0 create scores , grade , course 0 row(s) in 4.1610 seconds
2、查看当先 HBase 中具有哪些表
hbase(main):003:0 list scores 1 row(s) in 0.0210 seconds
3、查看表的构造
hbase(main):004:0 describe scores {NAME = scores , IS_ROOT = false , IS_META = false , FAMILIES = [{NAME = course , BLOOMFILTER = false , IN_MEMORY = false , LENGTH = 2147483647 , BLOCKCACHE = false , VERSIONS = 3 , TTL = -1 , COMPRESSION = NONE}, {NAME = grade , BLOOMFILTER = false , IN_MEMORY = false , LENGTH = 2147483647 , BLOCKCACHE = false , VERSIONS = 3 , TTL = -1 , COMPRESSION = NONE}]} 1 row(s) in 0.0130 seconds
4、加入一行数据, 行名称为 Tom 列族 grad 的列名为””值位 1
hbase(main):005:0 put scores , Tom , grade: , 1 0 row(s) in 0.0070 seconds
5、给 Tom 这一行的数据的列族添加一列 math,89
hbase(main):006:0 put scores , Tom , course:math , 89 0 row(s) in 0.0040 seconds
6、给 Tom 这一行的数据的列族添加一列 english,97
hbase(main):007:0 put scores , Tom , course:english , 97 0 row(s) in 0.0030 seconds
7、加入一行数据, 行名称为 Jerry 列族 grad 的列名为””值位 2
hbase(main):
008
:
0
put
scores
,
Jerry
,
grade:
,
2 0
row(s) in
0.0040
seconds
8、给 Jerry 这一行的数据的列族添加一列 math,100
hbase(main):009:0 put scores , Jerry , course:math , 100 0 row(s) in 0.0030 seconds
9、给 Jerry 这一行的数据的列族添加一列 english,90
hbase(main):010:0 put scores , Jerry , course:english , 90 0 row(s) in 0.0050 seconds
10、查看 scores 表中 Tom 的相关数据
hbase(main):011:0 get scores , Tom COLUMN CELL
course:english timestamp=1224726394286, value=97
course:math timestamp=1224726377027, value=89
grade: timestamp=1224726360727, value=1 3 row(s) in 0.0070 seconds
11、判断表是否 enable
hbase(main):012:0 is_enabled scores true 0 row(s) in 0.0110seconds
12、判断表是否 disable
hbase(main):013:0 is_disabled scores false 0 row(s) in 0.0110seconds
13、删除表 scores
hbase(main):014:0 disable scores 0 row(s) in 2.0590seconds hbase(main):030:0 drop scores 0 row(s) in 1.1070seconds
14、查询表是否存在
hbase(main):015:0 exists scores Table scores doesexist 0 row(s) in 0.1610seconds
15、查看 scores 表中所有数据
hbase(main):016:0 scan scores ROW COLUMN+CELL
Tom column=course:english, timestamp=1224726394286, value=97
Tom column=course:math, timestamp=1224726377027, value=89
Tom column=grade:, timestamp=1224726360727, value=1
Jerry column=course:english, timestamp=1224726424967, value=90
Jerry column=course:math, timestamp=1224726416145, value=100
Jerry column=grade:, timestamp=1224726404965, value=2 6 row(s) in 0.0410 seconds
16、查看 scores 表中所有数据 courses 列族的所有数据
hbase(main):017:0 scan scores , [course:] ROW COLUMN+CELL
Tom column=course:english, timestamp=1224726394286, value=97
Tom column=course:math, timestamp=1224726377027, value=89
Jerry column=course:english, timestamp=1224726424967, value=90
Jerry column=course:math, timestamp=1224726416145, value=100 4 row(s) in 0.0200 seconds
感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“hadoop 中 HBase 子项目入门的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!