日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

hadoop中HBase子项目入门讲解

發布時間:2023/11/27 生活经验 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hadoop中HBase子项目入门讲解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?HBase 是Hadoop的一個子項目,HBase采用了Google BigTable的稀疏的,面向列的數據庫實現方式的理論,建立在hadoop的hdfs上,一方面里用了hdfs的高可靠性和可伸縮行,另外一方面里用 了BigTable的高效數據組織形式.可以說HBase為海量數據的real-time相應提供了很好的一個開源解決方案。

??????? 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                       CELLcourse:english                  timestamp=1224726394286, value=97course:math                 timestamp=1224726377027, value=89grade:                      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.0590secondshbase(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+CELLTom                         column=course:english, timestamp=1224726394286, value=97Tom                         column=course:math, timestamp=1224726377027, value=89Tom                         column=grade:, timestamp=1224726360727, value=1Jerry                        column=course:english, timestamp=1224726424967, value=90Jerry                        column=course:math, timestamp=1224726416145, value=100Jerry                        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+CELLTom                         column=course:english, timestamp=1224726394286, value=97Tom                         column=course:math, timestamp=1224726377027, value=89Jerry                        column=course:english, timestamp=1224726424967, value=90Jerry                        column=course:math, timestamp=1224726416145, value=100
4 row(s) in 0.0200 seconds

?

來源:http://www.yoodb.com/article/display/146

轉載于:https://www.cnblogs.com/MrYoodb/p/4236131.html

總結

以上是生活随笔為你收集整理的hadoop中HBase子项目入门讲解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。