大數據hadoop學習【8】-----HBase分佈式數據庫表及表中數據的操作目錄
隨着時間的慢慢推移,大數據基礎課程也在慢慢的往後學習,前面我們介紹了通過Java編程實現了對hadoop文件系統HDFS進行了一系列的操作,對於hdfs的學習也可以暫告一段落,本次博客,林君學長將帶大家瞭解HBase分佈式數據庫的操作與編程,並通過一系列的例題進行相應的輔助瞭解哦,一起來看吧!
本次的實驗目的如下:
- 掌握HBase操作常用Shell命令
- 掌握HBase數據表的創建、添加數據、查看數據、刪除數據、刪除表、查詢歷史數據等操作
項目環境如下:
- 軟件:VMWare虛擬機 15.0
- 系統環境:Linux
- 操作系統:ubuntuKylin 16.04
- 開發環境 :JAVA,Hadoop
一、HBase相關介紹
1、HBase定義
1)、HBase是一個分佈式的、面向列的開源數據庫,源於Google的一篇論文《BigTable:一個結構化數據的分佈式存儲系統》。HBase以表的形式存儲數據,表有行和列組成,列劃分爲若干個列族/列簇(column family)。
欲瞭解HBase的官方資訊,請訪問HBase官方網站:
http://hbase.apache.org/
2、Hbase的三種模式
1)、HBase的運行有三種模式:單機模式、僞分佈式模式、分佈式模式。
- 單機模式:在一臺計算機上安裝和使用HBase,不涉及數據的分佈式存儲
- 僞分佈式模式:在一臺計算機上模擬一個小的集羣
- 分佈式模式:使用多臺計算機實現物理意義上的分佈式存儲
本次的學習,林君學長主要是在僞分佈模式下進行的相關操作哦!
二、 利用Shell命令進行Hbase表的相關操作
1、新建終端,運行Hbase
1)、運行SSH
ssh localhost
2)、運行hadoop
start-dfs.sh
3)、運行hbase
start-hbase.sh
2、HBase數據庫中表的創建
1)、進入hbase中的shell界面
hbase shell
2)、HBase中用create命令創建表
create 'student','Sname','Ssex','Sage','Sdept','course'
3)、查詢‘student’表
describe 'student'
3、HBase數據庫表數據的基本操作—添加數據
1)、添加數據
put 'student','10000','Sname','ZhangSan'
put 'student','10000','course:math','80'
put 'student','10000','Ssex','男'
get 'student','10000'
爲student表添加了學號爲10000,名字爲ZhangSan的一行數據,其行鍵爲10000。並添加課程分數和性別,後通過get命令進行查看
4、HBase數據庫表數據的基本操作—查看數據
1)、get命令查看數據
get 'student','10000'
命令執行截圖如下, 返回的是‘student’表‘95001’行的數據:
2)、scan命令查看數據
scan 'student'
命令執行截圖如下, 返回的是‘student’表的全部數據:
5、HBase數據庫表數據的基本操作—刪除數據
1)、delete用於刪除一個數據,是put的反向操作
delete 'student','10000','Ssex'
可以看到,性別一列已經被刪除
2.)、deleteall操作用於刪除一行數據。
deleteall 'student','10000'
上面添加的數據已經被完全刪除啦!
三、刪除表
刪除表有兩步,第一步先讓該表不可用,第二步刪除表!
1、讓該表不可用
disable 'student'
2、刪除該表
drop 'student'
四、查詢表歷史數據
查詢錶的歷史版本,需要兩步:
1、在創建表的時候,指定保存的版本數
2、插入數據然後更新數據,使其產生歷史版本數據
1、在創建表的時候,指定保存的版本數(假設指定爲5)
create 'teacher',{NAME=>'username',VERSIONS=>5}
2、插入數據然後更新數據,使其產生歷史版本數據
注意:這裏插入數據和更新數據都是用put命令
put 'teacher','1000','username','ChenYiYue'
put 'teacher','1000','username','ChenYiYue1'
put 'teacher','1000','username','ChenYiYue2'
put 'teacher','1000','username','ChenYiYue3'
put 'teacher','1000','username','ChenYiYue4'
put 'teacher','1000','username','ChenYiYue5'
3、查詢時,指定查詢的歷史版本數。默認會查詢出最新的數據
有效取值爲1到5
get 'teacher','1000',{COLUMN=>'username',VERSIONS=>5}
get 'teacher','1000',{COLUMN=>'username',VERSIONS=>2}
4、退出Hbase數據庫
1)、退出Hbase數據庫的shell界面
exit
2)、一次關閉hbase、hadoop、ssh
使用記得要有良好的習慣,對維護自己的hadoop和hbase有很大的好處,記得不用的時候關閉哦!
stop-hbase.sh
stop-dfs.sh
exit
以上就是本次博客的全部內容啦,希望對本次博客的閱讀,可以幫助小夥伴們更好的解決Hbase數據庫表的用法哦!
遇到問題的小夥伴,記得在評論區留言、林君學長看到會爲大家解答的,這個學長不太冷!
陳一月的又一天編程歲月^ _ ^