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