Hadoop大數(shù)據(jù)挖掘從入門到進(jìn)階實(shí)戰(zhàn)(視頻教學(xué)版)
定 價:99 元
- 作者:鄧杰
- 出版時間:2018/6/1
- ISBN:9787111600107
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP274
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書采用理論 實(shí)戰(zhàn)的形式編寫,全面介紹了Hadoop大數(shù)據(jù)挖掘的相關(guān)知識。本書共分為13章,涵蓋的主要內(nèi)容有:集群及開發(fā)環(huán)境搭建;快速構(gòu)建一個Hadoop項(xiàng)目并線上運(yùn)行;Hadoop套件實(shí)戰(zhàn);Hive編程使用SQL提交MapReduce任務(wù)到Hadoop集群;游戲玩家的用戶行為分析特征提;Hadoop平臺管理與維護(hù);Hadoop異常處理解決方案;初識Hadoop核心源碼;Hadoop通信機(jī)制和內(nèi)部協(xié)議;Hadoop分布式文件系統(tǒng)剖析;ELK實(shí)戰(zhàn)案例游戲應(yīng)用實(shí)時日志分析平臺;Kafka實(shí)戰(zhàn)案例實(shí)時處理游戲用戶數(shù)據(jù);Hadoop拓展Kafka剖析。本書不但適合剛?cè)腴T的初學(xué)者系統(tǒng)學(xué)習(xí)Hadoop的各種基礎(chǔ)語法和開發(fā)技巧,而且也適合有多年開發(fā)經(jīng)驗(yàn)的開發(fā)者進(jìn)階提高。另外,本書也適合社會培訓(xùn)機(jī)構(gòu)和相關(guān)院校作為教材或者教學(xué)參考書。
前言 大數(shù)據(jù)時代,數(shù)據(jù)的存儲與挖掘至關(guān)重要。企業(yè)在追求高可靠性、高擴(kuò)展性及高容錯性的大數(shù)據(jù)處理平臺的同時還希望能夠降低成本,而Hadoop為實(shí)現(xiàn)這些需求提供了解決方案。
Hadoop在分布式計算與存儲上具有先天優(yōu)勢。它作為Apache軟件基金會的頂級開源項(xiàng)目,其版本迭代持續(xù)至今,而且已經(jīng)擁有一個非;钴S的社區(qū)和全球眾多開發(fā)者,并且成為了當(dāng)前非常流行的大數(shù)據(jù)處理平臺。很多公司,特別是互聯(lián)網(wǎng)公司,都紛紛開始使用或者已經(jīng)使用Hadoop來做海量數(shù)據(jù)存儲與數(shù)據(jù)挖掘。
Hadoop簡單易學(xué),其學(xué)習(xí)曲線平緩且學(xué)習(xí)周期短。它的操作命令和Linux命令非常相似。一個熟悉Linux的開發(fā)者只需要短短的一周時間,就可以學(xué)會Hadoop開發(fā),完成一個高可用集群的部署和高可用應(yīng)用程序的編寫。
面對Hadoop的普及和學(xué)習(xí)熱潮,筆者愿意分享自己多年的開發(fā)經(jīng)驗(yàn),帶領(lǐng)讀者比較輕松地掌握Hadoop數(shù)據(jù)挖掘的相關(guān)知識。這便是筆者編寫本書的原因。本書使用通俗易懂的語言進(jìn)行講解,從基礎(chǔ)部署到集群的管理,再到底層設(shè)計等內(nèi)容均有涉及。通過閱讀本書,讀者可以較為輕松地掌握Hadoop大數(shù)據(jù)挖掘與分析的相關(guān)技術(shù)。
本書特色 1.提供專業(yè)的配套教學(xué)視頻,高效、直觀 筆者曾接受過極客學(xué)院的專業(yè)視頻制作指導(dǎo),并在極客學(xué)院錄制過多期Hadoop和Kafka實(shí)戰(zhàn)教學(xué)視頻課程,得到了眾多學(xué)習(xí)者的青睞及好評。為了便于讀者更加高效、直觀地學(xué)習(xí)本書內(nèi)容,筆者特意為本書實(shí)戰(zhàn)部分的內(nèi)容錄制了配套教學(xué)視頻,讀者可以在教學(xué)視頻的輔助下學(xué)習(xí),從而更加輕松地掌握Hadoop。
2.分享大量來自一線的開發(fā)經(jīng)驗(yàn),貼近實(shí)際開發(fā) 本書給出的代碼講解和實(shí)例大多數(shù)來自于筆者多年的教學(xué)積累和技術(shù)分享,幾乎都是得到了學(xué)習(xí)者一致好評的干貨。另外,筆者還是一名開源愛好者,編寫了業(yè)內(nèi)著名的Kafka Eagle監(jiān)控系統(tǒng)。本書第13章介紹了該系統(tǒng)的使用,以幫助讀者掌握如何監(jiān)控大數(shù)據(jù)集群的相關(guān)知識。
3.分享多個來自一線的實(shí)例,有很強(qiáng)的實(shí)用性 本書精心挑選了多個實(shí)用性很強(qiáng)的例子,如Hadoop套件實(shí)戰(zhàn)、Hive編程、Hadoop平臺管理與維護(hù)、ELK實(shí)戰(zhàn)和Kafka實(shí)戰(zhàn)等。讀者不但可以從這些例子中學(xué)習(xí)和理解Hadoop及其套件的相關(guān)知識點(diǎn),而且還可以將這些例子應(yīng)用于實(shí)際開發(fā)中。
4.講解通俗易懂,力爭觸類旁通,舉一反三 本書用通俗易懂的語言講解,避免云山霧罩,讓讀者不知所云。書中在講解一些常用知識點(diǎn)時將Hadoop命令與Linux命令進(jìn)行了對比,便于熟悉Linux命令的讀者能夠迅速掌握Hadoop的操作命令。
本書內(nèi)容 第1章 集群及開發(fā)環(huán)境搭建 本章介紹的主要內(nèi)容包括:環(huán)境準(zhǔn)備;安裝Hadoop;演示Hadoop版Hello World示例程序,以及搭建Hadoop開發(fā)環(huán)境。
第2章 實(shí)戰(zhàn):快速構(gòu)建一個Hadoop項(xiàng)目并線上運(yùn)行 本章首先介紹了快速構(gòu)建項(xiàng)目工程的方法,如Maven和Java Project;然后介紹了分布式文件系統(tǒng)的操作命令,以及利用IDE提交MapReduce作業(yè)的相關(guān)知識;最后介紹了編譯應(yīng)用程序并打包,以及部署與調(diào)度等內(nèi)容。
第3章 Hadoop套件實(shí)戰(zhàn) 本章介紹了Hadoop生態(tài)圈中常見的大數(shù)據(jù)套件的背景知識和使用方法,涵蓋Sqoop、Flume、HBase、Zeppelin、Drill及Spark等套件。
第4章 Hive編程使用SQL提交MapReduce任務(wù)到Hadoop集群 本章主要介紹了Hive數(shù)據(jù)倉庫的相關(guān)內(nèi)容:Hive底層設(shè)計組成;安裝和配置Hive;基于Hive應(yīng)用接口進(jìn)行編程;開源監(jiān)控工具Hive Cube。
第5章 游戲玩家的用戶行為分析特征提取 本章首先對Hadoop的基礎(chǔ)知識進(jìn)行了梳理;然后介紹了項(xiàng)目的背景和平臺架構(gòu);接著對項(xiàng)目進(jìn)行了整體分析與指標(biāo)設(shè)計,并進(jìn)行了技術(shù)選型;最后對分析的指標(biāo)進(jìn)行了編碼實(shí)踐。
第6章 Hadoop平臺管理與維護(hù) 本章介紹了Hadoop平臺管理與維護(hù)的重要方法。本章首先介紹了Hadoop分布式文件系統(tǒng)的特性,然后介紹了HDFS的基礎(chǔ)命令,并對NameNode進(jìn)行了解讀。另外,本章對Hadoop平臺維護(hù)時的常規(guī)操作,如節(jié)點(diǎn)管理、HDFS快照和安全模式等內(nèi)容也進(jìn)行了講解。
第7章 Hadoop異常處理解決方案 本章介紹了Hadoop異常處理解決方案的幾個知識點(diǎn)。主要內(nèi)容包括:跟蹤日志;分析異常信息;利用搜索引擎檢索關(guān)鍵字;查看Hadoop JIRA;閱讀Hadoop源代碼。
本章最后以實(shí)戰(zhàn)案例的形式分析了幾種異常情況:啟動HBase集群失;HBase表查詢失;Spark的臨時數(shù)據(jù)不自動清理等。
第8章 初識Hadoop核心源碼 本章首先介紹了Hadoop源碼基礎(chǔ)環(huán)境準(zhǔn)備及源代碼編譯;接著介紹了Hadoop的起源和兩代MapReduce框架間的差異;最后介紹了Hadoop的序列化機(jī)制。
第9章 Hadoop通信機(jī)制和內(nèi)部協(xié)議 本章首先介紹了Hadoop通信模型和Hadoop RPC的特點(diǎn);然后通過編碼實(shí)踐介紹了Hadoop RPC的使用,同時還介紹了與之類似的開源RPC框架;最后介紹了MapReduce的通信協(xié)議和RPC協(xié)議的實(shí)現(xiàn)過程。
第10章 Hadoop分布式文件系統(tǒng)剖析 本章主要介紹了Hadoop分布式文件系統(tǒng)的設(shè)計特點(diǎn)、命令空間和節(jié)點(diǎn)、數(shù)據(jù)備份策略
目錄
前言
第1章 集群及開發(fā)環(huán)境搭建1
1.1 環(huán)境準(zhǔn)備1
1.1.1 基礎(chǔ)軟件下載1
1.1.2 準(zhǔn)備Linux操作系統(tǒng)2
1.2 安裝Hadoop4
1.2.1 基礎(chǔ)環(huán)境配置4
1.2.2 Zookeeper部署7
1.2.3 Hadoop部署9
1.2.4 效果驗(yàn)證21
1.2.5 集群架構(gòu)詳解24
1.3 Hadoop版Hello World25
1.3.1 Hadoop Shell介紹25
1.3.2 WordCount初體驗(yàn)27
1.4 開發(fā)環(huán)境28
1.4.1 搭建本地開發(fā)環(huán)境28
1.4.2 運(yùn)行及調(diào)試預(yù)覽31
1.5 小結(jié)34
第2章 實(shí)戰(zhàn):快速構(gòu)建一個Hadoop項(xiàng)目并線上運(yùn)行35
2.1 構(gòu)建一個簡單的項(xiàng)目工程35
2.1.1 構(gòu)建Java Project結(jié)構(gòu)工程35
2.1.2 構(gòu)建Maven結(jié)構(gòu)工程36
2.2 操作分布式文件系統(tǒng)(HDFS)39
2.2.1 基本的應(yīng)用接口操作39
2.2.2 在高可用平臺上的使用方法42
2.3 利用IDE提交MapReduce作業(yè)43
2.3.1 在單點(diǎn)上的操作43
2.3.2 在高可用平臺上的操作46
2.4 編譯應(yīng)用程序并打包51
2.4.1 編譯Java Project工程并打包51
2.4.2 編譯Maven工程并打包55
2.5 部署與調(diào)度58
2.5.1 部署應(yīng)用58
2.5.2 調(diào)度任務(wù)59
2.6 小結(jié)60
第3章 Hadoop套件實(shí)戰(zhàn)61
3.1 Sqoop數(shù)據(jù)傳輸工具61
3.1.1 背景概述61
3.1.2 安裝及基本使用62
3.1.3 實(shí)戰(zhàn):在關(guān)系型數(shù)據(jù)庫與分布式文件系統(tǒng)之間傳輸數(shù)據(jù)64
3.2 Flume日志收集工具66
3.2.1 背景概述67
3.2.2 安裝與基本使用67
3.2.3 實(shí)戰(zhàn):收集系統(tǒng)日志并上傳到分布式文件系統(tǒng)(HDFS)上72
3.3 HBase分布式數(shù)據(jù)庫74
3.3.1 背景概述74
3.3.2 存儲架構(gòu)介紹75
3.3.3 安裝與基本使用75
3.3.4 實(shí)戰(zhàn):對HBase業(yè)務(wù)表進(jìn)行增、刪、改、查操作79
3.4 Zeppelin數(shù)據(jù)集分析工具85
3.4.1 背景概述85
3.4.2 安裝與基本使用85
3.4.3 實(shí)戰(zhàn):使用解釋器操作不同的數(shù)據(jù)處理引擎88
3.5 Drill低延時SQL查詢引擎92
3.5.1 背景概述93
3.5.2 安裝與基本使用93
3.5.3 實(shí)戰(zhàn):對分布式文件系統(tǒng)(HDFS)使用SQL進(jìn)行查詢95
3.5.4 實(shí)戰(zhàn):使用SQL查詢HBase數(shù)據(jù)庫99
3.5.5 實(shí)戰(zhàn):對數(shù)據(jù)倉庫(Hive)使用類實(shí)時統(tǒng)計、查詢操作101
3.6 Spark實(shí)時流數(shù)據(jù)計算104
3.6.1 背景概述104
3.6.2 安裝部署及使用105
3.6.3 實(shí)戰(zhàn):對接Kafka消息數(shù)據(jù),消費(fèi)、計算及落地108
3.7 小結(jié)114
第4章 Hive編程使用SQL提交MapReduce任務(wù)到Hadoop集群115
4.1 環(huán)境準(zhǔn)備與Hive初識115
4.1.1 背景介紹115
4.1.2 基礎(chǔ)環(huán)境準(zhǔn)備116
4.1.3 Hive結(jié)構(gòu)初識116
4.1.4 Hive與關(guān)系型數(shù)據(jù)庫(RDBMS)118
4.2 安裝與配置Hive118
4.2.1 Hive集群基礎(chǔ)架構(gòu)119
4.2.2 利用HAProxy實(shí)現(xiàn)Hive Server負(fù)載均衡120
4.2.3 安裝分布式Hive集群123
4.3 可編程方式126
4.3.1 數(shù)據(jù)類型126
4.3.2 存儲格式128
4.3.3 基礎(chǔ)命令129
4.3.4 Java編程語言操作數(shù)據(jù)倉庫(Hive)131
4.3.5 實(shí)踐Hive Streaming134
4.4 運(yùn)維和監(jiān)控138
4.4.1 基礎(chǔ)命令138
4.4.2 監(jiān)控工具Hive Cube140
4.5 小結(jié)143
第5章 游戲玩家的用戶行為分析特征提取144
5.1 項(xiàng)目應(yīng)用概述144
5.1.1 場景介紹144
5.1.2 平臺架構(gòu)與數(shù)據(jù)采集145
5.1.3 準(zhǔn)備系統(tǒng)環(huán)境和軟件147
5.2 分析與設(shè)計148
5.2.1 整體分析148
5.2.2 指標(biāo)與數(shù)據(jù)源分析149
5.2.3 整體設(shè)計151
5.3 技術(shù)選型153
5.3.1 套件選取簡述154
5.3.2 套件使用簡述154
5.4 編碼實(shí)踐157
5.4.1 實(shí)現(xiàn)代碼157
5.4.2 統(tǒng)計結(jié)果處理163
5.4.3 應(yīng)用調(diào)度169
5.5 小結(jié)174
第6章 Hadoop平臺管理與維護(hù)175
6.1 Hadoop分布式文件系統(tǒng)(HDFS)175
6.1.1 HDFS特性175
6.1.2 基礎(chǔ)命令詳解176
6.1.3 解讀NameNode Standby179
6.2 Hadoop平臺監(jiān)控182
6.2.1 Hadoop日志183
6.2.2 常用分布式監(jiān)控工具187
6.3 平臺維護(hù)196
6.3.1 安全模式196
6.3.2 節(jié)點(diǎn)管理198
6.3.3 HDFS快照200
6.4 小結(jié)203
第7章 Hadoop異常處理解決方案204
7.1 定位異常204
7.1.1 跟蹤日志204
7.1.2 分析異常信息208
7.1.3 閱讀開發(fā)業(yè)務(wù)代碼209
7.2 解決問題的方式210
7.2.1 搜索關(guān)鍵字211
7.2.2 查看Hadoop JIRA212
7.2.3 閱讀相關(guān)源碼213
7.3 實(shí)戰(zhàn)案例分析216
7.3.1 案例分析1:啟動HBase失敗216
7.3.2 案例分析2:HBase表查詢失敗219
7.3.3 案例分析3:Spark的臨時數(shù)據(jù)不自動清理222
7.4 小結(jié)223
第8章 初識Hadoop核心源碼224
8.1 基礎(chǔ)準(zhǔn)備與源碼編譯224
8.1.1 準(zhǔn)備環(huán)境224
8.1.2 加載源碼228
8.1.3 編譯源碼230
8.2 初識Hadoop 2233
8.2.1 Hadoop的起源233
8.2.2 Hadoop 2源碼結(jié)構(gòu)圖234
8.2.3 Hadoop模塊包235
8.3 MapReduce框架剖析236
8.3.1 第一代MapReduce框架236
8.3.2 第二代MapReduce框架238
8.3.3 兩代MapReduce框架的區(qū)別239
8.3.4 第二代MapReduce框架的重構(gòu)思路240
8.4 序列化241
8.4.1 序列化的由來242
8.4.2 Hadoop序列化243
8.4.3 Writable實(shí)現(xiàn)類245
8.5 小結(jié)247
第9章 Hadoop通信機(jī)制和內(nèi)部協(xié)議248
9.1 Hadoop RPC概述248
9.1.1 通信模型248
9.1.2 Hadoop RPC特點(diǎn)250
9.2 Hadoop R