本書采用模塊化的編寫思路,系統(tǒng)介紹了HBase的架構(gòu)、安裝環(huán)境以及實(shí)戰(zhàn)應(yīng)用。全書共分6個(gè)單元和(19個(gè)任務(wù)),每個(gè)單元通過學(xué)習(xí)目標(biāo)與學(xué)習(xí)情境引出本單元的教學(xué)核心內(nèi)容,明確教學(xué)任務(wù)。每個(gè)任務(wù)的編寫分為任務(wù)目標(biāo)、知識(shí)學(xué)習(xí)和任務(wù)實(shí)施3個(gè)環(huán)節(jié),使學(xué)生在學(xué)習(xí)過程中逐步達(dá)到理論和實(shí)踐相統(tǒng)一的目的。全書采用Java語言操作HBase,要求學(xué)生有一定的Java編程基礎(chǔ)。本書適合作為高等職業(yè)院校大數(shù)據(jù)技術(shù)與應(yīng)用專業(yè)的基礎(chǔ)核心教材,也可作為計(jì)算機(jī)相關(guān)專業(yè)大數(shù)據(jù)選修課程的教材,以及HBase基礎(chǔ)入門培訓(xùn)班的參考用書。
本書以HBase 入門與培訓(xùn)為導(dǎo)向?qū)虒W(xué)內(nèi)容進(jìn)行精簡(jiǎn)和精心設(shè)計(jì),并以實(shí)用性和容易上手為主旨,主要講解HBase的基礎(chǔ)知識(shí),涵蓋HBase安裝環(huán)境搭建、HBase的架構(gòu)以及HBaseShell 的使用。重點(diǎn)針對(duì)HBase 的實(shí)戰(zhàn)應(yīng)用,涵蓋HBase 客戶端API、HBaseAdmin API、HBase與MapReduce以及HBase預(yù)分區(qū)四大核心模塊。 為方便學(xué)生更好地完成HBase 的學(xué)習(xí),從而更有效地提高學(xué)生的學(xué)習(xí)積極性和學(xué)習(xí)效果。本書配套有資源包、運(yùn)行腳本、教學(xué)課件等,可登錄http://www.1daoyun.com下載。
一、緣起
HBase 作為非關(guān)系型數(shù)據(jù)庫(kù)的代表,為什么能在關(guān)系型數(shù)據(jù)庫(kù)如日中天的時(shí)期悄然興
起呢?從系統(tǒng)架構(gòu)的角度來說,傳統(tǒng)企業(yè)級(jí)應(yīng)用都是比較看重?cái)?shù)據(jù)完整性和數(shù)據(jù)安全性
的,而互聯(lián)網(wǎng)應(yīng)用則更加看重系統(tǒng)性能以及伸縮性。HBase 就是一個(gè)面向列存儲(chǔ)的分布
式存儲(chǔ)系統(tǒng),它的優(yōu)點(diǎn)在于可以實(shí)現(xiàn)高性能的并發(fā)讀/ 寫操作,同時(shí)HBase 還會(huì)對(duì)數(shù)據(jù)進(jìn)
行透明的切分,這樣就使得存儲(chǔ)本身具有了水平伸縮性。
作為Apache 旗下的一種Hadoop 數(shù)據(jù)庫(kù),HBase 是高性能、高可靠性、分布式、面向
列、可伸縮的、隨機(jī)訪問的存儲(chǔ)和檢索數(shù)據(jù)的平臺(tái)。利用HBase 技術(shù)可在廉價(jià)的PC 服務(wù)
器上搭建大規(guī)模的存儲(chǔ)化集群,可以對(duì)大數(shù)據(jù)進(jìn)行高性能的實(shí)時(shí)讀寫,同時(shí)保證數(shù)據(jù)的
原子性。
2006 年,谷歌的技術(shù)人員發(fā)表了BigTable 文章,提出了分布式的數(shù)據(jù)庫(kù)的概念。
2007 年,Powerset 公司研發(fā)了HBase,它是在Hadoop 中成立的。2008 年,Hadoop 成為
Apache 的項(xiàng)目,而HBase 是Hadoop 的子項(xiàng)目,并與2008 年至2009 年期間,推出了
HBase 0.18.1、HBase 0.19.0、HBase 0.20.0 版本,性能逐漸提升。2010 年前后,HBase
研發(fā)者打破一直依賴的Hadoop 版本號(hào),版本號(hào)從0.20.x 跳到0.89.x,并將0.89.x 作為第
一個(gè)單獨(dú)的開發(fā)版本。
二、結(jié)構(gòu)
本書采用模塊化的編寫思路,系統(tǒng)介紹HBase 的架構(gòu)、安裝環(huán)境以及實(shí)戰(zhàn)應(yīng)用,共分
為6 個(gè)單元(19 個(gè)任務(wù))。
每個(gè)單元通過學(xué)習(xí)目標(biāo)引出本單元的教學(xué)核心內(nèi)容,明確教學(xué)任務(wù)。每個(gè)任務(wù)的編寫
分為任務(wù)目標(biāo)、知識(shí)學(xué)習(xí)和任務(wù)實(shí)施3 個(gè)環(huán)節(jié)。
任務(wù)目標(biāo):簡(jiǎn)述任務(wù)目標(biāo),提高學(xué)生學(xué)習(xí)興趣。
知識(shí)學(xué)習(xí):詳細(xì)講解知識(shí)點(diǎn),為學(xué)生實(shí)踐打下堅(jiān)實(shí)的基礎(chǔ)。
任務(wù)實(shí)施:通過系列實(shí)例實(shí)踐,邊學(xué)邊做;通過任務(wù)綜合應(yīng)用所學(xué)知識(shí),提高學(xué)生系
統(tǒng)地運(yùn)用知識(shí)的能力;在任務(wù)實(shí)施的基礎(chǔ)上通過學(xué)、仿、做達(dá)到理論與實(shí)踐的統(tǒng)一、
知識(shí)內(nèi)化的教學(xué)目的。
姚曉峰,無錫太湖學(xué)院計(jì)講師,碩士研究生畢業(yè)。主要教授課程為:《軟件工程》、《編譯原理》、《Android平臺(tái)移動(dòng)開發(fā)技術(shù)》、《Java語言程序設(shè)計(jì)》、《云計(jì)算與大數(shù)據(jù)》等。參與編寫的圖書: (1)滕穎、姚曉峰等,《經(jīng)貿(mào)文獻(xiàn)信息檢索》,東南大學(xué)出版社,2003.02(2)張桂珠、陳愛國(guó)、姚曉峰,《Java面向?qū)ο蟪绦蛟O(shè)計(jì)》,北京郵電大學(xué)出版社,2005.08(3)張桂珠、姚曉峰、陳愛國(guó),《Java面向?qū)ο蟪绦蛟O(shè)計(jì)習(xí)題解答與實(shí)驗(yàn)》,北京郵電大學(xué)出版社,2005.08(4)張桂珠、姚曉峰、陳愛國(guó),《Java面向?qū)ο蟪绦蛟O(shè)計(jì)習(xí)題解答與實(shí)驗(yàn)(第2版)》,北京郵電大學(xué)出版社,2007.08(5)秦文虎、狄嵐、姚曉峰、陳偉琦,《虛擬現(xiàn)實(shí)基礎(chǔ)及可視化設(shè)計(jì)》,化學(xué)工業(yè)出版社,2009.08章偉,無錫太湖學(xué)院教師,計(jì)算機(jī)科學(xué)與技術(shù)碩士。主要從事《云計(jì)算與大數(shù)據(jù)》、《操作系統(tǒng)》、《Android平臺(tái)移動(dòng)開發(fā)技術(shù)》、《移動(dòng)開發(fā)綜合實(shí)驗(yàn)》等課程的教學(xué)工作。曾慶玲,廈門城市職業(yè)學(xué)院的教材,一直從事于云計(jì)算技術(shù)與應(yīng)用相關(guān)課程的教學(xué)工作,取得的成績(jī)有:(1)2016年7月福建省職業(yè)院校技能大賽云計(jì)算技術(shù)與應(yīng)用優(yōu)秀指導(dǎo)教師獎(jiǎng)(2)2015年2016年廈門城市職業(yè)學(xué)院優(yōu)秀教師(3)指導(dǎo)2015年12月廈門市第四屆高職軟件專業(yè)技能競(jìng)賽計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用競(jìng)賽三等獎(jiǎng)(4)指導(dǎo)2016年1月福建省高職院校職業(yè)技能競(jìng)賽云計(jì)算技術(shù)與應(yīng)用比賽一等獎(jiǎng)(5)指導(dǎo)2016年6月全國(guó)高職院校職業(yè)技能競(jìng)賽云計(jì)算技術(shù)與應(yīng)用比賽三等獎(jiǎng)(6)2016年2018年完成福建省中青年科技課題《基于SCORM規(guī)范教學(xué)內(nèi)容的存儲(chǔ)與訪問》(7)指導(dǎo)2019年福建省行業(yè)職業(yè)云計(jì)算與小程序行業(yè)技能大賽比賽二等獎(jiǎng)(8)指導(dǎo)2020年福建省職業(yè)技能大賽云計(jì)算技術(shù)與應(yīng)用大賽一等獎(jiǎng)
單元1 HBase 簡(jiǎn)介.............................1
學(xué)習(xí)目標(biāo).............................................1
任務(wù)1.1 安裝環(huán)境搭建 ...................1
任務(wù)1.2 理解HBase 架構(gòu) ............12
單元小結(jié)...........................................17
課后習(xí)題...........................................17
單元2 HBase 基本操作................18
學(xué)習(xí)目標(biāo)...........................................18
任務(wù)2.1 使用HBase Shell 命令 ...18
任務(wù)2.2 綜合案例實(shí)訓(xùn) .................48
單元小結(jié)...........................................55
課后練習(xí)..............................