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