3dwoo大學簡體電腦書店
Hadoop大數據挖掘從入門到進階實戰:視頻教學版
( 簡體 字)
作者:鄧杰 編著類別:1. -> 程式設計 -> 大數據
出版社:機械工業出版社Hadoop大數據挖掘從入門到進階實戰:視頻教學版 3dWoo書號: 49241
詢問書籍請說出此書號!
有庫存
NT售價: 495
出版日:6/1/2018
頁數:402
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787111600107 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
前言
第1章 集群及開發環境搭建 1
1.1 環境準備 1
1.1.1 基礎軟件下載 1
1.1.2 準備Linux操作系統 2
1.2 安裝Hadoop 4
1.2.1 基礎環境配置 4
1.2.2 Zookeeper部署 7
1.2.3 Hadoop部署 9
1.2.4 效果驗證 21
1.2.5 集群架構詳解 24
1.3 Hadoop版Hello World 25
1.3.1 Hadoop Shell介紹 25
1.3.2 WordCount初體驗 27
1.4 開發環境 28
1.4.1 搭建本地開發環境 28
1.4.2 運行及調試預覽 31
1.5 小結 34
第2章 實戰:快速構建一個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作業 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套件實戰 61
3.1 Sqoop——數據傳輸工具 61
3.1.1 背景概述 61
3.1.2 安裝及基本使用 62
3.1.3 實戰:在關系型數據庫與分布式文件系統之間傳輸數據 64
3.2 Flume——日志收集工具 66
3.2.1 背景概述 67
3.2.2 安裝與基本使用 67
3.2.3 實戰:收集系統日志并上傳到分布式文件系統(HDFS)上 72
3.3 HBase——分布式數據庫 74
3.3.1 背景概述 74
3.3.2 存儲架構介紹 75
3.3.3 安裝與基本使用 75
3.3.4 實戰:對HBase業務表進行增、刪、改、查操作 79
3.4 Zeppelin——數據集分析工具 85
3.4.1 背景概述 85
3.4.2 安裝與基本使用 85
3.4.3 實戰:使用解釋器操作不同的數據處理引擎 88
3.5 Drill——低延時SQL查詢引擎 92
3.5.1 背景概述 93
3.5.2 安裝與基本使用 93
3.5.3 實戰:對分布式文件系統(HDFS)使用SQL進行查詢 95
3.5.4 實戰:使用SQL查詢HBase數據庫 99
3.5.5 實戰:對數據倉庫(Hive)使用類實時統計、查詢操作 101
3.6 Spark——實時流數據計算 104
3.6.1 背景概述 104
3.6.2 安裝部署及使用 105
3.6.3 實戰:對接Kafka消息數據,消費、計算及落地 108
3.7 小結 114
第4章 Hive編程——使用SQL提交MapReduce任務到Hadoop集群 115
4.1 環境準備與Hive初識 115
4.1.1 背景介紹 115
4.1.2 基礎環境準備 116
4.1.3 Hive結構初識 116
4.1.4 Hive與關系型數據庫(RDBMS) 118
4.2 安裝與配置Hive 118
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 Streaming 134
4.4 運維和監控 138
4.4.1 基礎命令 138
4.4.2 監控工具Hive Cube 140
4.5 小結 143
第5章 游戲玩家的用戶行為分析——特征提取 144
5.1 項目應用概述 144
5.1.1 場景介紹 144
5.1.2 平臺架構與數據采集 145
5.1.3 準備系統環境和軟件 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 Standby 179
6.2 Hadoop平臺監控 182
6.2.1 Hadoop日志 183
6.2.2 常用分布式監控工具 187
6.3 平臺維護 196
6.3.1 安全模式 196
6.3.2 節點管理 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 閱讀開發業務代碼 209
7.2 解決問題的方式 210
7.2.1 搜索關鍵字 211
7.2.2 查看Hadoop JIRA 212
7.2.3 閱讀相關源碼 213
7.3 實戰案例分析 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 準備環境 224
8.1.2 加載源碼 228
8.1.3 編譯源碼 230
8.2 初識Hadoop 2 233
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框架的區別 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 RPC的分析與使用 251
9.2.1 基礎結構 251
9.2.2 使用示例 257
9.2.3 其他開源RPC框架 264
9.3 通信協議 266
9.3.1 MapReduce通信協議 266
9.3.2 RPC協議的實現 273
9.4 小結 277
第10章 Hadoop分布式文件系統剖析 278
10.1 HDFS介紹 278
10.1.1 HDFS概述 278
10.1.2 其他分布式文件系統 282
10.2 HDFS架構剖析 283
10.2.1 設計特點 283
10.2.2 命令空間和節點 285
10.2.3 數據備份剖析 289
10.3 數據遷移實戰 292
10.3.1 HDFS跨集群遷移 292
10.3.2 HBase集群跨集群數據遷移 297
10.4 小結 301
第11章 ELK實戰案例——游戲應用實時日志分析平臺 302
11.1 Logstash——實時日志采集、分析和傳輸 302
11.1.1 Logstash介紹 302
11.1.2 Logstash安裝 306
11.1.3 實戰操作 308
11.2 Elasticsearch——分布式存儲及搜索引擎 309
11.2.1 應用場景 309
11.2.2 基本概念 310
11.2.3 集群部署 312
11.2.4 實戰操作 317
11.3 Kibana——可視化管理系統 323
11.3.1 Kibana特性 324
11.3.2 Kibana安裝 324
11.3.3 實戰操作 328
11.4 實時日志分析平臺案例 331
11.4.1 案例概述 331
11.4.2 平臺體系架構與剖析 332
11.4.3 實戰操作 334
11.5 小結 339
第12章 Kafka實戰案例——實時處理游戲用戶數據 340
12.1 應用概述 340
12.1.1 Kafka回顧 340
12.1.2 項目簡述 347
12.1.3 Kafka工程準備 348
12.2 項目的分析與設計 349
12.2.1 項目背景和價值概述 349
12.2.2 生產模塊 350
12.2.3 消費模塊 352
12.2.4 體系架構 352
12.3 項目的編碼實踐 354
12.3.1 生產模塊 354
12.3.2 消費模塊 356
12.3.3 數據持久化 362
12.3.4 應用調度 364
12.4 小結 369
第13章 Hadoop拓展——Kafka剖析 370
13.1 Kafka開發與維護 370
13.1.1 接口 370
13.1.2 新舊API編寫 372
13.1.3 Kafka常用命令 380
13.2 運維監控 383
13.2.1 監控指標 384
13.2.2 Kafka開源監控工具——Kafka Eagle 384
13.3 Kafka源碼分析 391
13.3.1 源碼工程環境構建 391
13.3.2 分布式選舉算法剖析 394
13.3.3 Kafka Offset解讀 398
13.3.4 存儲機制和副本 398
13.4 小結 402
本書采用“理論+實戰”的形式編寫,全面介紹了Hadoop大數據挖掘的相關知識。本書共分為13章,涵蓋的主要內容有:集群及開發環境搭建;快速構建一個Hadoop項目并線上運行;Hadoop套件實戰;Hive編程——使用SQL提交MapReduce任務到Hadoop集群;游戲玩家的用戶行為分析——特征提取;Hadoop平臺管理與維護;Hadoop異常處理解決方案;初識Hadoop核心源碼;Hadoop通信機制和內部協議;Hadoop分布式文件系統剖析;ELK實戰案例——游戲應用實時日志分析平臺;Kafka實戰案例——實時處理游戲用戶數據;Hadoop拓展——Kafka剖析。本書不但適合剛入門的初學者系統學習Hadoop的各種基礎語法和開發技巧,而且也適合有多年開發經驗的開發者進階提高。另外,本書也適合社會培訓機構和相關院校作為教材或者教學參考書。
大數據時代,數據的存儲與挖掘至關重要。企業在追求高可靠性、高擴展性及高容錯性的大數據處理平臺的同時還希望能夠降低成本,而Hadoop為實現這些需求提供了解決方案。

  Hadoop在分布式計算與存儲上具有先天優勢。它作為Apache軟件基金會的頂級開源項目,其版本迭代持續至今,而且已經擁有一個非常活躍的社區和全球眾多開發者,并且成為了當前非常流行的大數據處理平臺。很多公司,特別是互聯網公司,都紛紛開始使用或者已經使用Hadoop來做海量數據存儲與數據挖掘。

  Hadoop簡單易學,其學習曲線平緩且學習周期短。它的操作命令和Linux命令非常相似。一個熟悉Linux的開發者只需要短短的一周時間,就可以學會Hadoop開發,完成一個高可用集群的部署和高可用應用程序的編寫。

  面對Hadoop的普及和學習熱潮,筆者愿意分享自己多年的開發經驗,帶領讀者比較輕松地掌握Hadoop數據挖掘的相關知識。這便是筆者編寫本書的原因。本書使用通俗易懂的語言進行講解,從基礎部署到集群的管理,再到底層設計等內容均有涉及。通過閱讀本書,讀者可以較為輕松地掌握Hadoop大數據挖掘與分析的相關技術。

本書特色

  1.提供專業的配套教學視頻,高效、直觀

  筆者曾接受過極客學院的專業視頻制作指導,并在極客學院錄制過多期Hadoop和Kafka實戰教學視頻課程,得到了眾多學習者的青睞及好評。為了便于讀者更加高效、直觀地學習本書內容,筆者特意為本書實戰部分的內容錄制了配套教學視頻,讀者可以在教學視頻的輔助下學習,從而更加輕松地掌握Hadoop。

  2.分享大量來自一線的開發經驗,貼近實際開發

  本書給出的代碼講解和實例大多數來自于筆者多年的教學積累和技術分享,幾乎都是得到了學習者一致好評的干貨。另外,筆者還是一名開源愛好者,編寫了業內著名的Kafka Eagle監控系統。本書第13章介紹了該系統的使用,以幫助讀者掌握如何監控大數據集群的相關知識。

  3.分享多個來自一線的實例,有很強的實用性

  本書精心挑選了多個實用性很強的例子,如Hadoop套件實戰、Hive編程、Hadoop平臺管理與維護、ELK實戰和Kafka實戰等。讀者不但可以從這些例子中學習和理解Hadoop及其套件的相關知識點,而且還可以將這些例子應用于實際開發中。

  4.講解通俗易懂,力爭觸類旁通,舉一反三

  本書用通俗易懂的語言講解,避免“云山霧罩”,讓讀者不知所云。書中在講解一些常用知識點時將Hadoop命令與Linux命令進行了對比,便于熟悉Linux命令的讀者能夠迅速掌握Hadoop的操作命令。

本書內容

  第1章 集群及開發環境搭建

  本章介紹的主要內容包括:環境準備;安裝Hadoop;演示Hadoop版Hello World示例程序,以及搭建Hadoop開發環境。

  第2章 實戰:快速構建一個Hadoop項目并線上運行

  本章首先介紹了快速構建項目工程的方法,如Maven和Java Project;然后介紹了分布式文件系統的操作命令,以及利用IDE提交MapReduce作業的相關知識;最后介紹了編譯應用程序并打包,以及部署與調度等內容。

  第3章 Hadoop套件實戰

  本章介紹了Hadoop生態圈中常見的大數據套件的背景知識和使用方法,涵蓋Sqoop、Flume、HBase、Zeppelin、Drill及Spark等套件。

  第4章 Hive編程——使用SQL提交MapReduce任務到Hadoop集群

  本章主要介紹了Hive數據倉庫的相關內容:Hive底層設計組成;安裝和配置Hive;基于Hive應用接口進行編程;開源監控工具Hive Cube。

  第5章 游戲玩家的用戶行為分析——特征提取

  本章首先對Hadoop的基礎知識進行了梳理;然后介紹了項目的背景和平臺架構;接著對項目進行了整體分析與指標設計,并進行了技術選型;最后對分析的指標進行了編碼實踐。

  第6章 Hadoop平臺管理與維護

  本章介紹了Hadoop平臺管理與維護的重要方法。本章首先介紹了Hadoop分布式文件系統的特性,然后介紹了HDFS的基礎命令,并對NameNode進行了解讀。另外,本章對Hadoop平臺維護時的常規操作,如節點管理、HDFS快照和安全模式等內容也進行了講解。

  第7章 Hadoop異常處理解決方案

  本章介紹了Hadoop異常處理解決方案的幾個知識點。主要內容包括:跟蹤日志;分析異常信息;利用搜索引擎檢索關鍵字;查看Hadoop JIRA;閱讀Hadoop源代碼。

  本章最后以實戰案例的形式分析了幾種異常情況:啟動HBase集群失敗;HBase表查詢失敗;Spark的臨時數據不自動清理等。

  第8章 初識Hadoop核心源碼

  本章首先介紹了Hadoop源碼基礎環境準備及源代碼編譯;接著介紹了Hadoop的起源和兩代MapReduce框架間的差異;最后介紹了Hadoop的序列化機制。

  第9章 Hadoop通信機制和內部協議

  本章首先介紹了Hadoop通信模型和Hadoop RPC的特點;然后通過編碼實踐介紹了Hadoop RPC的使用,同時還介紹了與之類似的開源RPC框架;最后介紹了MapReduce的通信協議和RPC協議的實現過程。

  第10章 Hadoop分布式文件系統剖析

  本章主要介紹了Hadoop分布式文件系統的設計特點、命令空間和節點、數據備份策略等內容,最后以實戰的形式演示了跨平臺數據遷移的過程。

  第11章 ELK實戰案例——游戲應用實時日志分析平臺

  本章介紹了常用的ELK套件:Logstash——實時日志采集、分析和傳輸;Elasticsearch——分布式存儲及搜索引擎;Kibana——可視化管理系統。

  第12章 Kafka實戰案例——實時處理游戲用戶數據

  本章首先介紹了Kafka項目的背景,以及Kafka集群和Storm集群的安裝過程;然后對項目案例進行了分析與指標設計,并利用筆者多年的大數據開發經驗設計項目體系架構;最后演示了各個模塊的編碼實現,如生產模塊、消費模塊、數據持久化實現及應用調度實現等。

  第13章 Hadoop拓展——Kafka剖析

  本章主要介紹了Kafka的基本特性與結構,以及筆者設計并開發的開源Kafka監控工具Kafka Eagle。本章關鍵知識點包括:Kafka開發與維護;開源監控工具Kafka Eagle的使用;Kafka源代碼分析,如分布式選舉算法剖析、Kafka Offset解讀、Kafka存儲機制和副本剖析等。

本書配套學習資源

  本書提供了配套教學視頻和實例源代碼文件等超值資源。請在機械工業出版社華章公司的網站www.hzbook.com上搜索到本書頁面,然后在“資料下載”模塊下載這些學習資源。

本書讀者對象

* Hadoop初學者;

* Hadoop進階人員;

* 后端程序初學者;

* 前端轉后端的開發人員;

* 熟悉Linux和Java而需要學習Hadoop的編程愛好者;

* 想用Hadoop快速編寫海量數據處理程序的開發者;

* 相關培訓機構的學員和高等院校的學生。

致謝

  感謝我的女朋友鄒苗苗對我生活上的細心照顧與瑣事上的寬容,使得我能安心寫作!感謝我的父母對我的養育之恩!

  感謝劉旨陽、王玨輝、賀祥、張翠菊等人(排名不分先后)在寫作本書時給我提供的各種幫助!

  另外,本書的編寫得到了吳宏偉先生的大力幫助。他對本書的寫作提出了很多有益建議,并對內容做了細致入微的審核,這使得本書條理更為清晰,語言更加通俗易懂。在此深表感謝!

  最后感謝各位讀者選擇了本書!希望本書能對您的學習有所助益。

  雖然筆者對書中所述內容都盡量核實,并多次進行文字校對,但因時間有限,加之水平所限,書中可能還存在疏漏和錯誤,敬請廣大讀者批評指正。



  鄧杰
pagetop