hadoop中HBase子项目入门的示例分析

62次阅读
没有评论

这篇文章主要介绍了 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 行业资讯频道,更多相关知识等着你来学习!