首 頁
手機(jī)版

深入理解hadoop 原書第2版 掃描版

深入理解hadoop 原書第2版是一本Hadoop系統(tǒng)使用掌握指導(dǎo)書籍,由世界級大數(shù)據(jù)專家薩米爾.瓦德卡和馬杜.西德林埃共同編著。全書深入剖析了Hadoop系統(tǒng)實現(xiàn)原理及其工程實踐應(yīng)用,里面包含了大量真實案例和數(shù)據(jù),從Hadoops各組件的運(yùn)行機(jī)理,深入到系統(tǒng)實現(xiàn)源碼,幫助你從架構(gòu)、開發(fā)、應(yīng)用和運(yùn)維等多方面全面掌握Hadoop系統(tǒng)。通過本書,你可以學(xué)會從頭搭建Hadoop集群,并著手從業(yè)務(wù)數(shù)據(jù)和科學(xué)數(shù)據(jù)中分析獲取其有價值的數(shù)據(jù)。

內(nèi)容介紹

《深入理解hadoop 原書第2版》由世界著名大數(shù)據(jù)專家親筆撰寫,深入剖析Hadoop系統(tǒng)及其重要組件,不僅詳細(xì)介紹Hadoop涉及的分布式理論基礎(chǔ)知識,還著重講解Hadoop系統(tǒng)的工程實踐應(yīng)用,包含大量真實案例和數(shù)據(jù),可以幫助你從架構(gòu)、開發(fā)、應(yīng)用和運(yùn)維等多方面全面地掌握Hadoop系統(tǒng),成為名副其實的Hadoop專家。
全書共17章,主要內(nèi)容包括:第1章從整體上介紹大數(shù)據(jù)的由來及Hadoop項目;第2章講解Hadoop系統(tǒng)的核心概念、使用及其解決問題的方法和技巧;第3章講解Hadoop系統(tǒng)的安裝以及如何編寫和執(zhí)行MapReduce程序;第4章講解Hadoop系統(tǒng)的底層細(xì)節(jié),著重講解HDFS;第5章~第7章深入分析MapReduce框架,講述如何在MapReduce程序中實現(xiàn)各種數(shù)據(jù)密集型編程模式,不僅包括MapReduce框架的API,還介紹MapReduce框架的更復(fù)雜概念及其設(shè)計理念;第8章介紹Hadoop作業(yè)的測試方法;第9章講解如何監(jiān)控Hadoop集群;第10章~第12章分別介紹Hive、Pig和Crunch、HCatalog框架;第13章講解Hadoop日志流處理技術(shù)及應(yīng)用;第14章介紹HBase;第15章~第17章介紹數(shù)據(jù)科學(xué)基本概念及應(yīng)用、云計算實例、分布式下載服務(wù)實例等。

深入理解hadoop 原書第2版章節(jié)目錄

譯者序
作者簡介
前言
第1章為什么會有大數(shù)據(jù)1
1.1什么是大數(shù)據(jù)1
1.2大數(shù)據(jù)技術(shù)背后的核心思想2
1.2.1把數(shù)據(jù)分發(fā)到多個節(jié)點2
1.2.2把計算邏輯移動到數(shù)據(jù)附近3
1.2.3計算節(jié)點進(jìn)行本地數(shù)據(jù)處理3
1.2.4優(yōu)選順序讀,次之隨機(jī)讀4
1.2.5一個例子4
1.3大數(shù)據(jù)的編程模型5
1.3.1大規(guī)模并行處理數(shù)據(jù)庫系統(tǒng)5
1.3.2內(nèi)存數(shù)據(jù)庫系統(tǒng)6
1.3.3MapReduce系統(tǒng)6
1.3.4整體同步并行系統(tǒng)8
1.4大數(shù)據(jù)和事務(wù)性系統(tǒng)8
1.5我們能處理多大的數(shù)據(jù)量9
1.5.1一個計算密集型的例子10
1.5.2Amdhal定律10
1.6大數(shù)據(jù)商業(yè)用例11
1.7本章小結(jié)12
第2章Hadoop中的概念13
2.1Hadoop簡介13
2.2MapReduce編程模型簡介15
2.3Hadoop系統(tǒng)的組成19
2.3.1Hadoop 分布式文件系統(tǒng)20
2.3.2輔助名稱節(jié)點25
2.3.3任務(wù)跟蹤器26
2.3.4作業(yè)跟蹤器26
2.4Hadoop 2.027
2.4.1容器29
2.4.2節(jié)點管理器29
2.4.3資源管理器30
2.4.4應(yīng)用程序管理器30
2.4.5分步詳解YARN請求31
2.5HDFS 的高可用性33
2.6本章小結(jié)33
第3章初識Hadoop框架34
3.1安裝類型34
3.1.1單機(jī)模式35
3.1.2偽分布式集群模式35
3.1.3多節(jié)點集群安裝模式35
3.1.4基于Amazon EMR預(yù)安裝模式35
3.2使用Cloudera虛擬機(jī)搭建開發(fā)環(huán)境36
3.3一個MapReduce程序的組成37
3.4第一個Hadoop程序38
3.4.1以本地模式運(yùn)行程序的必要條件39
3.4.2使用舊API編寫的單詞計數(shù)程序39
3.4.3構(gòu)建程序42
3.4.4在集群模式下運(yùn)行單詞計數(shù)程序42
3.4.5使用新API編寫的單詞計數(shù)程序43
3.4.6構(gòu)建程序44
3.4.7在集群模式下運(yùn)行單詞計數(shù)程序45
3.5Hadoop作業(yè)中的第三方函數(shù)庫45
3.6本章小結(jié)50
第4章Hadoop系統(tǒng)管理51
4.1Hadoop的配置文件51
4.2配置Hadoop守護(hù)進(jìn)程52
4.3Hadoop配置文件的優(yōu)先級53
4.4深入探究Hadoop配置文件54
4.4.1core-site.xml54
4.4.2hdfs-*.xml55
4.4.3mapred-site.xml56
4.4.4yarn-site.xml58
4.4.5YARN中的內(nèi)存分配60
4.5調(diào)度器61
4.5.1計算能力調(diào)度器62
4.5.2公平調(diào)度器65
4.5.3公平調(diào)度器配置65
4.5.4 yarn-site.xml 配置66
4.5.5策略文件的格式和配置67
4.5.6按照drf策略來確定優(yōu)勢資源的分配68
4.6從屬文件69
4.7機(jī)架感知69
4.8 集群管理工具71
4.8.1檢查HDFS71
4.8.2 HDFS管理命令行73
4.8.3 均衡HDFS上的數(shù)據(jù)分布75
4.8.4從HDFS中復(fù)制海量數(shù)據(jù)76
4.9本章小結(jié)76
第5章MapReduce開發(fā)基礎(chǔ)78
5.1 Hadoop和數(shù)據(jù)處理78
5.2 航空公司數(shù)據(jù)集介紹79
5.2.1 準(zhǔn)備開發(fā)環(huán)境80
5.2.2 準(zhǔn)備Hadoop系統(tǒng)81
5.3 MapReduce編程模式81
5.3.1 只有Map階段的作業(yè)(SELECT和WHERE查詢)82
5.3.2 問題定義—SELECT子句82
5.3.3 問題定義—WHERE子句90
5.3.4 Map和Reduce作業(yè)(聚合查詢)93
5.3.5 問題定義—GROUP BY和SUM子句93
5.3.6 應(yīng)用Combiner提高Aggregation性能99
5.3.7 問題定義—優(yōu)化后的Aggregators99
5.3.8 Partitioner的作用104
5.3.9 問題定義—按月分離航空數(shù)據(jù)105
5.4 綜合分析108
5.5 本章小結(jié)110
第6章MapReduce開發(fā)進(jìn)階111
6.1 MapReduce編程模式111
6.2 Hadoop I/O 介紹111
6.3 問題定義—排序114
6.3.1 主要挑戰(zhàn):全排序115
6.3.2 在Cluster中運(yùn)行Sorting作業(yè)125
6.3.3 僅根據(jù)Writable鍵排序125
6.3.4 根據(jù)排序回顧Hadoop的關(guān)鍵特性128
6.4 問題定義—分析連續(xù)的記錄128
6.4.1 支持二次排序的重要組件129
6.4.2 在沒有Grouping Comparator的情況下實現(xiàn)Secondary Sort136
6.4.3 在Cluster中運(yùn)行SecondarySort作業(yè)137
6.4.4 利用Secondary Sort回顧Hadoop的關(guān)鍵特性137
6.5 問題定義—使用MapReducer進(jìn)行連接138
6.5.1 處理多輸入:Multiple-Inputs 類138
6.5.2 具備多個輸入的Mapper類139
6.5.3 自定義 Partitioner: Carrier-CodeBasedPartioner141
6.5.4 在Reducer中實現(xiàn)連接141
6.5.5 在集群中運(yùn)行MapReduce連接作業(yè)143
6.5.6 探討與MapReduce相關(guān)的Hadoop主要特性144
6.6 問題定義—使用Map-Only 作業(yè)進(jìn)行連接144
6.6.1 基于DistributeCache的解決方案145
6.6.2 在集群中運(yùn)行Map-Only的連接作業(yè)147
6.6.3 總結(jié)探討Map-Only連接時的Hadoop關(guān)鍵特性149
6.7 在MR作業(yè)中保存結(jié)果到多輸出文件149
6.8 使用計數(shù)器收集統(tǒng)計數(shù)據(jù)151
6.9 本章小結(jié)153
第7章 Hadoop輸入/輸出155
7.1 壓縮方式155
7.1.1 壓縮內(nèi)容的選擇156
7.1.2 各種壓縮方式157
7.1.3 配置壓縮方式158
7.2 Hadoop的I/O處理過程內(nèi)部159
7.2.1 Inputformat159
7.2.2 OutputFormat161
7.2.3 自定義OutputFormat:將文本轉(zhuǎn)換成XML161
7.2.4 自定義 InputFormat:使用自定義的XML文件165
7.3 Hadoop文件173
7.3.1 SequenceFile173
7.3.2 MapFiles178
7.3.3 Avro Files180
7.4 本章小結(jié)185
第8章 測試Hadoop程序186
8.1 回顧一下單詞統(tǒng)計的程序186
8.2 MRUnit概述188
8.2.1 安裝MRUnit188
8.2.2 MRUnit 核心類188
8.2.3 編寫一個MRUnit測試用例189
8.2.4 測試計數(shù)器191
8.2.5 MRUnit的特性194
8.2.6 MRUnit的局限性194
8.3 用LocalJobRunner測試195
8.3.1 setUp( )方法196
8.3.2 LocalJobRunner的局限性197
8.4 用MiniMRCluster測試198
8.4.1 配置開發(fā)環(huán)境198
8.4.2 MiniMRCluster例子199
8.4.3 MiniMRCluster的局限性201
8.5 對訪問網(wǎng)絡(luò)資源的MR作業(yè)進(jìn)行測試202
8.6 本章小結(jié)202
第9章Hadoop的監(jiān)控203
9.1 在Hadoop MapReduce Jobs中寫日志消息203
9.2 在Hadoop MapReduce Jobs中查看日志消息206
9.3 在Hadoop 2.x中使用日志管理208
9.3.1 Hadoop 2.x中的日志存儲208
9.3.2 日志管理提升210
9.3.3 使用基于Web的界面查看日志210
9.3.4 命令行界面211
9.3.5 日志的保存211
9.4 Hadoop集群性能監(jiān)控211
9.5 使用YARN REST API212
9.6 使用供應(yīng)商工具管理Hadoop集群213
9.7 本章小結(jié)214
第10章使用Hadoop構(gòu)建數(shù)據(jù)倉庫215
10.1 Apache Hive215
10.1.1 安裝Hive216
10.1.2 Hive的架構(gòu)217
10.1.3 元數(shù)據(jù)存儲217
10.1.4 HiveQL編譯基礎(chǔ)217
10.1.5 Hive使用的概念218
10.1.6 HiveQL編譯細(xì)節(jié)222
10.1.7 數(shù)據(jù)定義語言226
10.1.8 數(shù)據(jù)操作語言226
10.1.9 擴(kuò)展接口227
10.1.10 Hive腳本229
10.1.11 性能表現(xiàn)229
10.1.12 整合MapReduce230
10.1.13 創(chuàng)建分區(qū)230
10.1.14 用戶定義函數(shù)232
10.2 Impala234
10.2.1 Impala架構(gòu)234
10.2.2 Impala特性235
10.2.3 Impala的局限235
10.3 Shark235
10.4 本章小結(jié)237
第11章使用Pig進(jìn)行數(shù)據(jù)處理238
11.1 Pig簡介238
11.2 運(yùn)行Pig240
11.2.1 在Grunt Shell中執(zhí)行241
11.2.2 執(zhí)行Pig腳本241
11.2.3 嵌入式Java程序242
11.3 Pig Latin243
11.3.1 Pig腳本中的注釋243
11.3.2 Pig語句的執(zhí)行243
11.3.3 Pig命令244
11.4 UDF249
11.4.1 Mapper中的Eval函數(shù)調(diào)用249
11.4.2 Reducer中的Eval函數(shù)調(diào)用250
11.4.3 編寫并使用自定義Filter-Func256
11.5 Pig與Hive對比258
11.6 Crunch API259
11.6.1  Crunch與Pig的區(qū)別259
11.6.2 Crunch管道的例子260
11.7 本章小結(jié)265
第12章HCatalog和企業(yè)級Hadoop266
12.1 HCataolg和企業(yè)級數(shù)據(jù)倉庫用戶266
12.2 HCatalog技術(shù)背景簡介 267
12.2.1 HCatalog命令行接口269
12.2.2 WebHCat269
12.2.3 HCatalog的MapReduce接口270
12.2.4 HCatalog的Pig接口273
12.2.5 HCatalog通知接口274
12.3 HCatalog的安全和認(rèn)證機(jī)制274
12.4 完整的解決方案275
12.5 本章小結(jié)275
第13章使用Hadoop分析日志277
13.1 日志文件分析應(yīng)用277
13.1.1 網(wǎng)絡(luò)分析277
13.1.2 安全規(guī)范與法務(wù)278
13.1.3 監(jiān)控和報警279
13.1.4 物聯(lián)網(wǎng)279
13.2 分析步驟280
13.2.1 載入280
13.2.2 提取280
13.2.3 可視化281
13.3 Apache Flume281
13.4 Netflix Suro283
13.5 云解決方案285
13.6 本章小結(jié)285
第14章使用HBase構(gòu)建實時系統(tǒng)286
14.1 HBase是什么286
14.2 典型的HBase用例場景287
14.3 HBase數(shù)據(jù)模型288
14.3.1 HBase邏輯視圖和客戶端視圖288
14.3.2 HBase與RDBMS的區(qū)別289
14.3.3 HBase表290
14.3.4 HBase單元格290
14.3.5 HBase列簇290
14.4 HBase命令和API291
14.4.1 獲取命令列表:幫助命令291
14.4.2 創(chuàng)建表:create命令292
14.4.3 向表中加入行:put命令293
14.4.4 從表中檢索行:get命令293
14.4.5 讀取多行:scan命令293
14.4.6 統(tǒng)計表中的行數(shù):count命令293
14.4.7 刪除行:delete命令294
14.4.8 清空表:truncate命令294
14.4.9 刪除表:drop命令294
14.4.10 更換表:alter命令294
14.5 HBase架構(gòu)295
14.5.1 HBase組件295
14.5.2 HBase中的壓縮與分區(qū)302
14.5.3 壓縮303
14.6 HBase配置概覽304
14.7 HBase應(yīng)用程序設(shè)計305
14.7.1 長表vs寬表vs窄表305
14.7.2 行鍵設(shè)計306
14.8 使用Java API操作HBase307
14.8.1 一切都是字節(jié)307
14.8.2 創(chuàng)建HBase表307
14.8.3 使用HBaseAdmin類管理HBase308
14.8.4 使用Java API訪問數(shù)據(jù)308
14.9 HBase與MapReduce集成312
14.9.1 使用MapReduce任務(wù)讀取HBase表312
14.9.2 HBase和MapReduce集群315
14.10 本章小結(jié)316
第15章Hadoop與數(shù)據(jù)科學(xué)317
15.1 Hadoop中的數(shù)據(jù)科學(xué)方法318
15.2 Apache Hama318
15.2.1 整體同步并行計算模型318
15.2.2 Hama Hello World!319
15.2.3 蒙特卡洛方法321
15.2.4 K-Means聚類324
15.3 Apache Spark327
15.3.1 彈性分布式數(shù)據(jù)集(RDD)327
15.3.2 Spark與蒙特卡洛算法328
15.3.3 Spark與KMeans聚類330
15.4 RHadoop332
15.5 本章小結(jié)333
第16章Hadoop與云計算334
16.1 經(jīng)濟(jì)性334
16.1.1 自有集群335
16.1.2 基于云平臺的集群335
16.1.3 彈性336
16.1.4 按需付費(fèi)336
16.1.5 競價336
16.1.6 混合集群336
16.2 后勤保障337
16.2.1 導(dǎo)入/導(dǎo)出337
16.2.2 數(shù)據(jù)保存337
16.3 安全性337
16.4 云端應(yīng)用模型338
16.5 云服務(wù)商339
16.5.1 亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)339
16.5.2 谷歌云平臺341
16.5.3 微軟Azure342
16.5.4 選擇云服務(wù)商342
16.6 案例學(xué)習(xí): AWS342
16.6.1 EMR343
16.6.2 EC2345
16.7 本章小結(jié)348
第17章構(gòu)建YARN應(yīng)用程序349
17.1 YARN:通用分布式系統(tǒng)349
17.2 YARN:快速瀏覽351
17.3 創(chuàng)建YARN應(yīng)用程序353
17.4 DownloadService.java類354
17.5 Client.java類356
17.5.1 從客戶端啟動應(yīng)用管理器的步驟356
17.5.2 創(chuàng)建YarnClient357
17.5.3 配置應(yīng)用程序357
17.5.4 啟動應(yīng)用管理器360
17.5.5 監(jiān)控應(yīng)用360
17.6 ApplicationMaster.java362
17.6.1 啟動工作任務(wù)的步驟363
17.6.2 初始化應(yīng)用管理器協(xié)議和容器管理協(xié)議364
17.6.3 在資源管理器中注冊應(yīng)用管理器364
17.6.4 配置容器參數(shù)364
17.6.5 向資源管理器請求容器364
17.6.6 在任務(wù)節(jié)點上啟動容器364
17.6.7 等待容器結(jié)束工作任務(wù)365
17.6.8 在資源管理器中注銷應(yīng)用管理器365
17.7 運(yùn)行應(yīng)用管理器367
17.7.1 在非托管模式中啟動應(yīng)用管理器367
17.7.2 在托管模式中啟動應(yīng)用管理器367
17.8 本章小結(jié)367
附錄A安裝Hadoop369
附錄B使用Maven和Eclipse378
附錄CApache Ambari383

使用說明

1、下載并解壓,得出pdf文件
2、如果打不開本文件,請務(wù)必下載pdf閱讀器
3、安裝后,在打開解壓得出的pdf文件
4、雙擊進(jìn)行閱讀
收起介紹展開介紹
  • 下載地址
深入理解hadoop 原書第2版 掃描版

有問題? 點此報錯

發(fā)表評論

0條評論