文档章节

hadoop中HBase子项目入门讲解

afreon
 afreon
发布于 2015/01/16 15:18
字数 1067
阅读 67
收藏 2

        HBase 提供了一个类似于mysql等关系型数据库的hbase shell,通过该hbase shell可以对HBase的内的相关表、列族等进行操作;HBase shell的help命令比较详细的列介绍了HBase所支持的命令.具体使用方法可以参见其API文档。

        在这里简单举个学生表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


本文转载自:http://blog.yoodb.com/yoodb/article/detail/1034

共有 人打赏支持
afreon
粉丝 20
博文 41
码字总数 5285
作品 0
海淀
架构师
hadoop hive hbase 入门学习 (二)

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// hadoop 自学系列 hado......

curiousby
2015/03/08
0
0
八年磨一剑,重新定义HBase——HBase 2.0&阿里云HBase解读

摘要:2018年6月6日,阿里云ApsaraDB for HBase2.0正式发布!从2010年开始“试水”到2018年,拥有了3个PMC,6个Committer,拥有中国最多HBase Committer的公司之一的阿里巴巴是如何八年磨一剑...

Mr_zebra
06/13
0
0
hadoop hive hbase 入门学习 (三)

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// hadoop 自学系列 hado......

curiousby
2015/03/12
0
0
大数据学习系列之二 ----- HBase环境搭建(单机)

引言 在上一篇中搭建了Hadoop的单机环境,这一篇则搭建HBase的单机环境 环境准备 1,服务器选择 阿里云服务器:入门型(按量付费) 操作系统:linux CentOS 6.8 Cpu:1核 内存:1G 硬盘:40G 2,配...

虚无境
08/16
0
0
Hadoop上路_15-HBase0.98.0入门

以下操作在Hadoop分布式集群基础上进行。 一。分布式环境搭建 下载:http://www.apache.org/dyn/closer.cgi/hbase/ ,hbase-0.98.0-hadoop2-bin.tar.gz。 1.在master主控机安装HBase 1)解压...

vigiles
2014/04/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

线性一致性和 Raft

作者:沈泰宁 在讨论分布式系统时,共识算法(Consensus algorithm)和一致性(Consistency)通常是讨论热点,两者的联系很微妙,很容易搞混。一些常见的误解:使用了 Raft [0] 或者 paxos ...

TiDB
21分钟前
0
0
兄弟连区块链教程以太坊源码分析core-state-process源码分析

## StateTransition状态转换模型 /* The State Transitioning Model 状态转换模型 A state transition is a change made when a transaction is applied to the cu......

兄弟连区块链入门教程
23分钟前
0
0
linear-gradient渐变中的参数

在看张鑫旭的博客 遇到渐变数值后面带参数不太理解 @supports (-webkit-mask: none) or (mask: none) { .box { border: none; background: linear-gradient(to bottom, #34538...

红羊在厦门
24分钟前
0
0
Python yagmail模块自动发邮件

Python发邮件yagmail模块 import yagmail#连接服务器yag=yagmail.SMTP('xx@163.com','yy','smtp.163.com')#邮箱正文contents=["test","email send"]#发送邮件#yag.send('...

小白兔_球球
25分钟前
1
0
pada mysql

CREATE SCHEMA `exchange` DEFAULT CHARACTER SET utf8mb4 ;

qwfys
34分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部