目錄
一.實(shí)驗(yàn)內(nèi)容
二.實(shí)驗(yàn)?zāi)康?/p>
三.實(shí)驗(yàn)過程截圖及說明
1、安裝HBase
2、配置偽分布式模式:
3、使用hbase的shell命令來操作表:
4、使用hbase提供的javaAPI來編程實(shí)現(xiàn)類似操作:
5、實(shí)驗(yàn)總結(jié)及心得體會(huì)
6、完整報(bào)告在文章開頭,掛載。
一.實(shí)驗(yàn)內(nèi)容
HBase編程實(shí)踐:
1)在Hadoop基礎(chǔ)上安裝HBase;
2)使用Shell命令(create:創(chuàng)建表、list:列出HBase中所有的表信息、put:向表、行、列指定的單元格添加數(shù)據(jù)等);使用HBase常用Java API創(chuàng)建表、插入數(shù)據(jù)、瀏覽數(shù)據(jù)。
二.實(shí)驗(yàn)?zāi)康?/h3>
1、理解HBase在Hadoop體系結(jié)構(gòu)中的角色。
2、熟練使用HBase操作常用的Shell命令。
3、熟悉HBase操作常用的JavaAPI。
三.實(shí)驗(yàn)過程截圖及說明
1、安裝HBase
(1)解壓HBase文件到/usr/local目錄下,并將目錄改名為hbase:
(2)設(shè)置訪問權(quán)限:
(3)編輯~/.bashrc文件:
vim ~/.bashrc
# 如果沒有引入過PATH請(qǐng)?jiān)趡/.bashrc文件尾行添加如下內(nèi)容:
export PATH=$PATH:/usr/local/hbase/bin
然后輸入source ~/.bashrc使配置立即生效
(4)輸入hbase version驗(yàn)證一下:
(5)版本沒問題,設(shè)置成功。但是發(fā)現(xiàn)上圖第一個(gè)箭頭所指處有一個(gè)警告,SLF4J警告消息表示類路徑中存在多個(gè)SLF4J綁定。警告提供了檢測(cè)到的綁定位置,并告知你只能同時(shí)使用一個(gè)綁定??梢杂茫?)(7)兩步來解決。
(6)進(jìn)入HBase配置目錄,修改配置:
(7)將此行的注釋去掉:
(8)驗(yàn)證一下,看看hbase的版本,發(fā)現(xiàn)警告消失了,配置成功:
2、配置偽分布式模式:
(1)配置hbase-env.sh文件:
(2)配置hbase-site文件:
(3)測(cè)試運(yùn)行hbase。先要開啟Hadoop,再開hbase,開關(guān)順序一定要是(開啟Hadoop->開啟hbase->關(guān)閉hbase->關(guān)閉Hadoop):
開Hadoop:
開hbase:
(4)開啟hbase的shell命令:
3、使用hbase的shell命令來操作表:
(1)創(chuàng)建表:
(2)list:
(3)使用put命令向某表某行中插入一列:
參數(shù)說明:?在student表的行鍵為95001的行中,插入一個(gè)名為Sname的列,并設(shè)置其值為YangJile。此處的行鍵可以代指學(xué)生的學(xué)號(hào),也可表示為student表添加了學(xué)號(hào)為95001,名字為YangJile的一行數(shù)據(jù),其行鍵為95001。
hbase中用put命令添加數(shù)據(jù),注意:一次只能為一個(gè)表的一行數(shù)據(jù)的一個(gè)列,也就是一個(gè)單元格添加一個(gè)數(shù)據(jù),所以直接用shell命令插入數(shù)據(jù)效率很低,在實(shí)際應(yīng)用中,一般都是利用編程操作數(shù)據(jù)。
參數(shù)說明:在student表的行鍵為95001的行中,在course列族下存儲(chǔ)一個(gè)名為math的列,并設(shè)置其屬性值為80。下同。
(4)使用get命令查看某表的某行的值:
get命令,用于查看表的某一行數(shù)據(jù)。
(5)使用scan命令查看表的所有行:
scan命令用于查看某個(gè)表的全部數(shù)據(jù)。
(6)刪除表的兩步走操作:
先disable,讓表不可用,再drop刪除表。
4、使用hbase提供的javaAPI來編程實(shí)現(xiàn)類似操作:
(1)在com.ecjtu下創(chuàng)建hbase包,再創(chuàng)建一個(gè)dataSqlOP.java文件:
(2)導(dǎo)入需要用到的依賴:
(3)編寫初始化函數(shù):
(4)編寫創(chuàng)建表函數(shù):
(5)編寫插入數(shù)據(jù)函數(shù);
(6)編寫獲取數(shù)據(jù)函數(shù):
(7)編寫主函數(shù),在主函數(shù)中調(diào)用各個(gè)方法測(cè)試運(yùn)行:
(8)運(yùn)行結(jié)果:
5、實(shí)驗(yàn)總結(jié)及心得體會(huì)
實(shí)驗(yàn)總結(jié):
在本實(shí)驗(yàn)中,我深入了解了HBase在Hadoop體系結(jié)構(gòu)中的角色,以及其常用的Shell命令和Java API。
(1)首先,我在Hadoop基礎(chǔ)上成功安裝了HBase,為其后續(xù)應(yīng)用奠定了基礎(chǔ)。
(2)在Shell命令方面,我實(shí)踐了創(chuàng)建表(create)、列出HBase中所有的表信息(list)、向表、行、列指定的單元格添加數(shù)據(jù)(put)等操作。這些命令幫助我們更好地管理和操作HBase表格,為大數(shù)據(jù)處理提供了便利。
(3)此外,我還使用了HBase常用的Java API來創(chuàng)建表、插入數(shù)據(jù)、瀏覽數(shù)據(jù)。通過這些API,我實(shí)現(xiàn)了對(duì)HBase表格的編程操作,進(jìn)一步提高了數(shù)據(jù)處理效率。
(4)實(shí)驗(yàn)的二個(gè)目的是讓我熟練掌握HBase的操作,從而在實(shí)際應(yīng)用中能夠靈活運(yùn)用。通過對(duì)HBase角色、Shell命令和Java API的學(xué)習(xí),我能夠更好地應(yīng)對(duì)各種數(shù)據(jù)處理挑戰(zhàn),為我國(guó)大數(shù)據(jù)領(lǐng)域的發(fā)展貢獻(xiàn)力量。
(5)總之,本次實(shí)驗(yàn)使我受益匪淺,對(duì)HBase的認(rèn)識(shí)和操作水平得到了全面提升。在未來的學(xué)習(xí)和工作中,我將不斷探索和實(shí)踐,為大數(shù)據(jù)技術(shù)的發(fā)展貢獻(xiàn)自己的力量。
心得體會(huì):
在這次的HBase編程實(shí)踐中,我深深地理解了HBase在Hadoop體系結(jié)構(gòu)中的角色。HBase是一個(gè)分布式的、版本化的典型非關(guān)系型數(shù)據(jù)庫(kù),它被設(shè)計(jì)用來處理海量數(shù)據(jù),并提供了隨機(jī)讀寫訪問數(shù)據(jù)的能力。在Hadoop的文件系統(tǒng)HDFS之上,HBase提供了實(shí)時(shí)讀寫訪問數(shù)據(jù)的能力。
我首先在Hadoop環(huán)境下安裝了HBase,然后使用Shell命令創(chuàng)建了一個(gè)表,并通過list命令列出了HBase中所有的表信息。接著,我使用put命令向表、行、列指定的單元格添加數(shù)據(jù)。這些操作都是通過HBase的Shell命令完成的,這讓我對(duì)HBase的操作有了初步的了解。
接下來,我使用了HBase的Java API進(jìn)行編程。在這個(gè)過程中,我深入了解了HBase的內(nèi)部機(jī)制,包括它如何在內(nèi)部管理數(shù)據(jù),以及如何通過Java API進(jìn)行操作。我也了解了HBase的一些特性,比如它如何支持實(shí)時(shí)讀寫,以及它如何通過水平擴(kuò)展來應(yīng)對(duì)大數(shù)據(jù)量的存儲(chǔ)和處理。文章來源:http://www.zghlxwxcb.cn/news/detail-849325.html
總的來說,這次的HBase編程實(shí)踐讓我收獲頗豐。我不僅掌握了HBase的基本操作,而且對(duì)HBase的工作原理和特性有了更深的理解。我相信這些知識(shí)和經(jīng)驗(yàn)將對(duì)我未來的學(xué)習(xí)和工作產(chǎn)生積極的影響。文章來源地址http://www.zghlxwxcb.cn/news/detail-849325.html
6、完整報(bào)告在文章開頭,掛載。
到了這里,關(guān)于大數(shù)據(jù)實(shí)驗(yàn)三-HBase編程實(shí)踐的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!