hadoop中HBase子項目入門講解

        HBase 提供了一個相似於mysql等關係型數據庫的hbase shell,經過該hbase shell能夠對HBase的內的相關表、列族等進行操做;HBase shell的help命令比較詳細的列介紹了HBase所支持的命令.具體使用方法能夠參見其API文檔。mysql

        在這裏簡單舉個學生表scores的案例進行講解,表數據以下:
sql

name grad      course:math   course:english
Tom    1      89           97
Jerry  2          100          90

        這 裏grad對於表來講是一個列,course對於表來講是一個列族,這個列族由兩個列組成:math和english,固然咱們能夠根據咱們的須要在 course中創建更多的列族,如computer,physics,art等相應的列添加入course列族中。shell

下面列出常使用的hbase shell 命令以下:數據庫

名稱spa

命令表達式code

建立表orm

create '表名稱', '列名稱1','列名稱2','列名稱N'ci

添加記錄      文檔

put '表名稱', '行名稱', '列名稱:', '值'get

查看記錄

get '表名稱', '行名稱'

查看錶中的記錄總數

count  '表名稱'

刪除記錄

delete  '表名' ,'行名稱' , '列名稱'

刪除一張表

先要屏蔽該表,才能對該表進行刪除,第一步 disable '表名稱' 第二步  drop '表名稱'

查看全部記錄

scan "表名稱"  

查看某個表某個列中全部數據

scan "表名稱" , ['列名稱:']

更新記錄 

就是重寫一遍進行覆蓋



一、創建一個表格 scores 具備兩個列族grad 和courese
案例以下:

hbase(main):002:0> create 'scores', 'grade', 'course'
0 row(s) in 4.1610 seconds

二、查看當先HBase中具備哪些表

hbase(main):003:0> list
scores
1 row(s) in 0.0210 seconds

三、查看錶的構造

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

四、 加入一行數據,行名稱爲 Tom 列族grad的列名爲」」 值位1

hbase(main):005:0> put 'scores', 'Tom', 'grade:', '1'
0 row(s) in 0.0070 seconds

五、給Tom這一行的數據的列族添加一列 <math,89>

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

六、給Tom這一行的數據的列族添加一列 <english,97>

hbase(main):007:0> put 'scores', 'Tom', 'course:english', '97'
0 row(s) in 0.0030 seconds


七、 加入一行數據,行名稱爲 Jerry 列族grad的列名爲」」 值位2

hbase(main):     008     :     0     > put      'scores'         'Jerry'         'grade:'         '2'
0      row(s) in      0.0040      seconds

八、給Jerry這一行的數據的列族添加一列 <math,100>

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


九、給Jerry這一行的數據的列族添加一列 <english,90>

hbase(main):010:0> put 'scores', 'Jerry', 'course:english', '90'
0 row(s) in 0.0050 seconds

十、查看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



十一、判斷表是否enable

hbase(main):012:0>is_enabled 'scores'
true
0 row(s) in 0.0110seconds

十二、判斷表是否disable

hbase(main):013:0>is_disabled 'scores'
false
0 row(s) in 0.0110seconds

1三、刪除表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


1四、查詢表是否存在

hbase(main):015:0>exists 'scores'
Table scores doesexist                                                     
0 row(s) in 0.1610seconds


1五、查看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

1六、查看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
相關文章
相關標籤/搜索