千家信息网

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

发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,这篇文章主要介绍了hadoop中HBase子项目入门的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。HBase 提供了一个类似
千家信息网最后更新 2025年02月07日hadoop中HBase子项目入门的示例分析

这篇文章主要介绍了hadoop中HBase子项目入门的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

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这一行的数据的列族添加一列

hbase(main):006:0> put 'scores', 'Tom', 'course:math', '89' 0 row(s) in 0.0040 seconds

6、给Tom这一行的数据的列族添加一列

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这一行的数据的列族添加一列

hbase(main):009:0> put 'scores', 'Jerry', 'course:math', '100' 0 row(s) in 0.0030 seconds

9、给Jerry这一行的数据的列族添加一列

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

感谢你能够认真阅读完这篇文章,希望小编分享的"hadoop中HBase子项目入门的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

0