一、表结构操作

1.建立一个表scores,有两个列族grad和course

[hadoop@weekend01 ~]$ hbase shell

hbase(main):006:0> create 'scores','grade','course'

0 row(s) in 0.4120 seconds

=> Hbase::Table - scores

2.查看Hbase中的所有表

hbase(main):007:0> list

TABLE

hbase_student

my_data

new_scores

scores

student

user

6 row(s) in 0.0150 seconds

=> ["hbase_student", "my_data", "new_scores", "scores", "student", "user"]

3.查看scores表结构

hbase(main):008:0> desc 'scores'

Table scores is ENABLED

scores

COLUMN FAMILIES DESCRIPTION

{NAME => 'course', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICAT

ION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', T

TL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY

=> 'false', BLOCKCACHE => 'true'}

{NAME => 'grade', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATI

ON_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TT

L => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY =

> 'false', BLOCKCACHE => 'true'}

2 row(s) in 0.0550 seconds

4.查询表scores是否存在

hbase(main):009:0> exists 'scores'

Table scores does exist

0 row(s) in 0.0180 seconds

5.判断表scores是否enable

hbase(main):010:0> is_enabled 'scores'

true

0 row(s) in 0.0160 seconds

6.判断表scores是否disable

hbase(main):011:0> is_disabled 'scores'

false

0 row(s) in 0.0210 seconds

7.使表scores不可用

hbase(main):012:0> disable 'scores'

0 row(s) in 1.3380 seconds

8.恢复表scores可用

hbase(main):013:0> enable 'scores'

0 row(s) in 0.5680 seconds

9.增加一个school列族

hbase(main):002:0> alter 'scores',{NAME=>'school',VERSIONS=>3}

Updating all regions with the new schema...

0/1 regions updated.

1/1 regions updated.

Done.

0 row(s) in 2.3390 seconds

10.删除一个school列族

hbase(main):005:0> alter 'scores',{NAME=>'school',METHOD=>'delete'}

Updating all regions with the new schema...

0/1 regions updated.

1/1 regions updated.

Done.

0 row(s) in 2.1970 seconds

11.删除表scores

操作步骤:先禁用表,再删除表

hbase(main):004:0> disable 'scores' #先将scores表改为offline状态

0 row(s) in 1.3100 seconds

hbase(main):005:0> drop 'scores' #再删除表

0 row(s) in 0.2250 seconds

二、DML操作(数据操纵)

1.添加scores数据

其scores表数据如下:

Tom grade: 5

Tom course:math 97

Tom course:art 87

Tom course:english 80

Jim grade: 4

Jim course:chinese 89

Jim course:english 80

hbase(main):006:0> put 'scores','Tom','grade:','5'

0 row(s) in 0.1810 seconds

hbase(main):007:0> put 'scores','Tom','course:math','97'

0 row(s) in 0.0200 seconds

hbase(main):009:0> put 'scores','Tom','course:art','87'

0 row(s) in 0.0150 seconds

hbase(main):010:0> put 'scores','Tom','course:english','80'

0 row(s) in 0.0070 seconds

hbase(main):012:0> put 'scores','Jim','grade:','5'

0 row(s) in 0.0080 seconds

hbase(main):013:0> put 'scores','Jim','course:chinese','89'

0 row(s) in 0.0110 seconds

hbase(main):014:0> put 'scores','Jim','course:english','80'

0 row(s) in 0.0070 seconds

2.查看数据

a.全表scores扫描

hbase(main):015:0> scan 'scores'

ROW COLUMN+CELL

Jim column=course:chinese, timestamp=1464871444954, value=89

Jim column=course:english, timestamp=1464871467549, value=80

Jim column=grade:, timestamp=1464871414324, value=5

Tom column=course:art, timestamp=1464871299895, value=87

Tom column=course:english, timestamp=1464871325997, value=80

Tom column=course:math, timestamp=1464871198158, value=97

Tom column=grade:, timestamp=1464871151963, value=5

2 row(s) in 0.1160 secondsb.查看表scores中Jim的一行的数据

c.查看一个单元格的数据

hbase(main):016:0> get 'scores','Tom',{COLUMN=>'course:math'}

COLUMN CELL

course:math timestamp=1464871198158, value=97

1 row(s) in 0.0900 seconds

d.查看一个course列族的数据

hbase(main):017:0> scan 'scores',{COLUMN=>'course'}

ROW COLUMN+CELL

Jim column=course:chinese, timestamp=1464871444954, value=89

Jim column=course:english, timestamp=1464871467549, value=80

Tom column=course:art, timestamp=1464871299895, value=87

Tom column=course:english, timestamp=1464871325997, value=80

Tom column=course:math, timestamp=1464871198158, value=97

2 row(s) in 0.0170 seconds

e.查看表scores中的course:english列的数据

hbase(main):019:0> scan 'scores',{COLUMN=>'course:english'}

ROW COLUMN+CELL

Jim column=course:english, timestamp=1464871467549, value=80

Tom column=course:english, timestamp=1464871325997, value=80

2 row(s) in 0.0260 seconds

f.统计表scores的行数

hbase(main):020:0> count 'scores'

2 row(s) in 0.0890 seconds

=> 2

3.修改数据

a.修改scores表中的Tom的math值为100

hbase(main):021:0> put 'scores','Tom','course:math','100'

0 row(s) in 0.0140 seconds

b.修改scores表中列族course的VERSIONS=>3

hbase(main):022:0> alter 'scores',{NAME=>'course',VERSION=>3}

Unknown argument ignored for column family course: 1.8.7

Updating all regions with the new schema...

0/1 regions updated.

1/1 regions updated.

Done.

0 row(s) in 2.2190 seconds

再进行修改cores表中的Tom的math值为100

hbase(main):023:0> put 'scores','Tom','course:math','100'

0 row(s) in 0.0490 seconds

再按VERSIONS=>3查看该表中course:math的值

hbase(main):025:0> get 'scores','Tom',{COLUMN=>'course:math',VERSIONS=>3}

COLUMN CELL

course:math timestamp=1464872264511, value=100

4.删除数据

a.删除scores表Jim的course:chinese的值

hbase(main):027:0> delete 'scores','Jim','course:chinese'

0 row(s) in 0.0310 seconds

b.删除scores表Tom的course:english的值

hbase(main):029:0> delete 'scores','Tom','course:english'

0 row(s) in 0.0080 seconds

c.删除scores表Tom一行

hbase(main):032:0> deleteall 'scores','Tom'

0 row(s) in 0.4160 seconds

d.清空scores表中的内容

hbase(main):031:0> truncate 'scores'

Truncating 'scores' table (it may take a while):

- Disabling table...

- Truncating table...

0 row(s) in 1.5000 seconds

疑难小结:刚开始玩HBase看着文档还不是那么难,真做起来麻烦事还真多,刚开始一直报这个错,没有头绪,百度半天

hbase(main):001:0> list

TABLE

ERROR: Can't get master address from ZooKeeper; znode data == null

这东西让我改好多文件,还是不行,无奈又重新配置了一遍,同学有遇到一样的情况,说是myid文件与zookeeper配置文件中的指定id不一致导致的但是我检查过了是一样的主机名IP地址id号都是对应的,zookeeper启动正常,进程正常,还有就是HBase进程启动异常,在主节点上启动之后,只有主节点有HMaster进程另外weekend05、06上有HRegionServer进程weekend07上没有,无解了。。。按照步骤重来一遍好了,但还是没有明白哪里出了问题。

HBase表结构设计--练习篇的更多相关文章

  1. 七 HBase表结构设计

      表结构设计之  高表  与 宽表 选择       HBase 中的表可以设计为高表(tall-narrow table) 和 宽表(flat-wide table).         高表 : ...

  2. hbase表结构设计

    非常好的一个ppt   HBase Schema design: http://www.slideshare.net/cloudera/5-h-base-schemahbasecon2012

  3. Hbase入门(四)——表结构设计-RowKey

    Hbase的表结构设计与关系型数据库有很多不同,主要是Hbase有Rowkey和列族.timestamp这几个全新的概念,如何设计表结构就非常的重要. 创建 Hbase就是通过 表 Rowkey 列族 ...

  4. HBase(八): 表结构设计优化

    在 HBase(六): HBase体系结构剖析(上) 介绍过,Hbase创建表时,只需指定表名和至少一个列族,基于HBase表结构的设计优化主要是基于列族级别的属性配置,如下图: 目录: BLOOMF ...

  5. hadoop执行hdfs文件到hbase表插入操作(xjl456852原创)

    本例中需要将hdfs上的文本文件,解析后插入到hbase的表中. 本例用到的hadoop版本2.7.2 hbase版本1.2.2 hbase的表如下: create 'ns2:user', 'info ...

  6. hbase操作(shell 命令,如建表,清空表,增删改查)以及 hbase表存储结构和原理

    两篇讲的不错文章 http://www.cnblogs.com/nexiyi/p/hbase_shell.html http://blog.csdn.net/u010967382/article/de ...

  7. 一套能体现 RBAC 的表结构设计

    1.RBAC 概述 2.表结构设计 2.1.用户表 2.2.角色表 2.3.权限表 2.4.用户角色(关系)表 2.5.角色权限(关系)表 3.总结 1.RBAC 概述 RBAC(Role-Based ...

  8. Hbase:简单介绍一下Hbase表的结构

    HBase 是一个NoSQL数据库,用于处理海量数据,可以支持10亿行百万列的大表,下面我就和大家分享一下数据是如何存放在HBase表中的 为了更好的理解HBase表的思路,先回顾一下关系数据库中表的 ...

  9. 谈Apache OFbiz 会员模块表结构设计

    数据库表的结构设计可谓是ofbiz除技术框架之外,另一个非常值得学习的方向.这篇文章我们来谈谈ofbiz对电子商务会员表的设计. PARTY ofbiz对人.团体进行了抽象,称之为party,翻译为中 ...

随机推荐

  1. configuration类详解

    hadoop中,组件配置是由Hadoop的Configuration的一个实例实现.(在源码包的org.apache.hadoop.conf中可以找到)先上个类图:这只是部分的,Configuraat ...

  2. InspectIT_EUM 实现原理概述

    在Git上查看 InspectIT 实现原理概述: 实现原理详解:  1.jsAgent如何注入到浏览器 通过ASM框架修改HttpService.service()方法,加入相关逻辑,对每一个Htt ...

  3. C++中的const完全解析

    1. const修饰普通变量和指针 const修饰变量,一般有两种写法:const TYPE value;TYPE const value; 这两种写法在本质上是一样的.它的含义是:const修饰的类 ...

  4. IDHTTP用法详解 good

    一.IDHTTP的基本用法 IDHttp和WebBrowser一样,都可以实现抓取远端网页的功能,但是http方式更快.更节约资源,缺点是需要手动维护cook,连接等 IDHttp的创建,需要引入ID ...

  5. html5--6-67 阶段练习8-弹性三列布局

    html5--6-67 阶段练习8-弹性三列布局 学习要点 运用弹性盒子模型完成一个三列布局,加深对学过知识点的综合应用能力. 了解用百分比设置元素高度的方法. @charset="UTF- ...

  6. I.MX6 按键开关机 PMIC 检测

    /************************************************************************* * I.MX6 按键开关机 PMIC 检测 * 说 ...

  7. SPOJ:Another Version of Inversion(二维数组的逆序对)

    DCE Coders admins are way much geekier than they actually seem! Kartik has been following that tradi ...

  8. HihoCoder1532 : 最美和弦(DP简单优化)

    描述 某个夜晚,Bob将他弹奏的钢琴曲录下来发给Jack,Jack感动之余决定用吉他为他伴奏. 我们可以用一个整数表示一个音符的音高,并可认为Bob弹奏的曲子是由3N个整数构成的一个序列.其中每个整数 ...

  9. ASP.NET WebServce项目下添加Http服务,支持Get,Post请求方式;传输格式json/xml

    由于WEBServce老项目中需要增添新的接口,而且添加的接口不希望被其它项目以引用Servces方式使用. 那么得在现有Service项目中添加Http请求方式来实现系统间数据交互.只需要告知请求地 ...

  10. 【NOIP2017 DAY1T2】 时间复杂度

    [题目链接] 点击打开链接 [算法] 其实这就是一道模拟题啦! 在判error和计算时间复杂度时,我们需要用栈这种数据结构 [代码] 这题的代码还是有些难写的,写的时候一定要有条理! #include ...