溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

hadoop中HBase子項目入門的示例分析

發(fā)布時間:2021-12-08 09:58:50 來源:億速云 閱讀:135 作者:小新 欄目:云計算

這篇文章主要介紹了hadoop中HBase子項目入門的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

        HBase 提供了一個類似于mysql關系型數(shù)據(jù)庫的hbase shell,通過該hbase shell可以對HBase的內的相關表、列族等進行操作;HBase shell的help命令比較詳細的列介紹了HBase所支持的命令.

        在這里簡單舉個學生表scores的案例進行講解,表數(shù)據(jù)如下:

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

        這 里grad對于表來說是一個列,course對于表來說是一個列族,這個列族由兩個列組成:math和english,當然我們可以根據(jù)我們的需要在 course中建立更多的列族,如computer,physics,art等相應的列添加入course列族中。

下面列出常使用的hbase shell 命令如下:

名稱

命令表達式

創(chuàng)建表

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

添加記錄      

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

查看記錄

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

查看表中的記錄總數(shù)

count  '表名稱'

刪除記錄

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

刪除一張表

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

查看所有記錄

scan "表名稱"  

查看某個表某個列中所有數(shù)據(jù)

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、 加入一行數(shù)據(jù),行名稱為 Tom 列族grad的列名為”” 值位1

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

5、給Tom這一行的數(shù)據(jù)的列族添加一列 <math,89>

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

6、給Tom這一行的數(shù)據(jù)的列族添加一列 <english,97>

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

7、 加入一行數(shù)據(jù),行名稱為 Jerry 列族grad的列名為”” 值位2

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

8、給Jerry這一行的數(shù)據(jù)的列族添加一列 <math,100>

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

9、給Jerry這一行的數(shù)據(jù)的列族添加一列 <english,90>

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

10、查看scores表中Tom的相關數(shù)據(jù)

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表中所有數(shù)據(jù)

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表中所有數(shù)據(jù)courses列族的所有數(shù)據(jù)

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子項目入門的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!

向AI問一下細節(jié)
推薦閱讀:
  1. Hadoop HBase
  2. HBase入門

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI