3dwoo大學簡體電腦書店
Hadoop應用開發技術詳解
( 簡體 字)
作者:劉剛類別:1. -> 程式設計 -> 雲計算
出版社:機械工業出版社Hadoop應用開發技術詳解 3dWoo書號: 37400
詢問書籍請說出此書號!
有庫存
NT售價: 395
出版日:1/24/2014
頁數:420
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787111452447 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
目  錄
前 言
第1章  Hadoop概述 / 1
1.1  Hadoop起源 / 1
1.1.1  Google與Hadoop模塊 / 1
1.1.2  為什么會有Hadoop / 1
1.1.3  Hadoop版本介紹 / 2
1.2  Hadoop生態系統 / 3
1.3  Hadoop常用項目介紹 / 4
1.4  Hadoop在國內的應用 / 6
1.5  本章小結 / 7
第2章  Hadoop安裝 / 8
2.1  Hadoop環境安裝配置 / 8
2.1.1  安裝VMware / 8
2.1.2  安裝Ubuntu / 8
2.1.3  安裝VMware Tools / 15
2.1.4  安裝JDK / 15
2.2  Hadoop 安裝模式 / 16
2.2.1  單機安裝 / 17
2.2.2  偽分布式安裝 / 18
2.2.3  分布式安裝 / 20
2.3  如何使用Hadoop / 27
2.3.1  Hadoop的啟動與停止 / 27
2.3.2  Hadoop配置文件 / 28
2.4  本章小結 / 28
第3章  MapReduce快速入門 / 30
3.1  WordCount 實例準備開發環境 / 30
3.1.1  使用Eclipse創建一個Java工程 / 30
3.1.2  導入Hadoop的JAR文件 / 31
3.2  MapReduce代碼的實現 / 32
3.2.1  編寫WordMapper類 / 32
3.2.2  編寫WordReducer類 / 33
3.2.3  編寫WordMain驅動類 / 34
3.3  打包、部署和運行 / 35
3.3.1  打包成JAR文件 / 35
3.3.2  部署和運行 / 36
3.3.3  測試結果 / 38
3.4  本章小結 / 39
第4章  Hadoop分布式文件系統詳解 / 40
4.1  認識HDFS / 40
4.1.1  HDFS的特點 / 40
4.1.2  Hadoop文件系統的接口 / 45
4.1.3  HDFS的Web服務 / 46
4.2  HDFS架構 / 46
4.2.1  機架 / 47
4.2.2  數據塊 / 47
4.2.3  元數據節點 / 48
4.2.4  數據節點 / 50
4.2.5  輔助元數據節點 / 50
4.2.6  名字空間 / 52
4.2.7  數據復制 / 53
4.2.8  塊備份原理 / 53
4.2.9  機架感知 / 54
4.3  Hadoop的RPC機制 / 55
4.3.1  RPC的實現流程 / 56
4.3.2  RPC的實體模型 / 56
4.3.3  文件的讀取 / 57
4.3.4  文件的寫入 / 58
4.3.5  文件的一致模型 / 59
4.4  HDFS的HA機制 / 59
4.4.1  HA集群 / 59
4.4.2  HA架構 / 60
4.4.3  為什么會有HA機制 / 61
4.5  HDFS的Federation機制 / 62
4.5.1  單個NameNode的HDFS架構的局限性 / 62
4.5.2  為什么引入Federation機制 / 63
4.5.3  Federation架構 / 64
4.5.4  多個名字空間的管理問題 / 65
4.6  Hadoop文件系統的訪問 / 66
4.6.1  安全模式 / 66
4.6.2  HDFS的Shell訪問 / 67
4.6.3  HDFS處理文件的命令 / 67
4.7  Java API接口 / 72
4.7.1  Hadoop URL讀取數據 / 73
4.7.2  FileSystem類 / 73
4.7.3  FileStatus類 / 75
4.7.4  FSDataInputStream類 / 77
4.7.5  FSDataOutputStream類 / 81
4.7.6  列出HDFS下所有的文件 / 83
4.7.7  文件的匹配 / 84
4.7.8  PathFilter對象 / 84
4.8  維護HDFS / 86
4.8.1  追加數據 / 86
4.8.2  并行復制 / 88
4.8.3  升級與回滾 / 88
4.8.4  添加節點 / 90
4.8.5  刪除節點 / 91
4.9  HDFS權限管理 / 92
4.9.1  用戶身份 / 92
4.9.2  權限管理的原理 / 93
4.9.3  設置權限的Shell命令 / 93
4.9.4  超級用戶 / 93
4.9.5  HDFS權限配置參數 / 94
4.10  本章小結 / 94
第5章  Hadoop 文件 I/O 詳解 / 95
5.1  Hadoop文件的數據結構 / 95
5.1.1  SequenceFile 存儲 / 95
5.1.2  MapFile存儲 / 99
5.1.3  SequenceFile轉換為MapFile / 101
5.2  HDFS數據完整性 / 103
5.2.1  校驗和 / 103
5.2.2  數據塊檢測程序 / 104
5.3  文件序列化 / 106
5.3.1  進程間通信對序列化的要求 / 106
5.3.2  Hadoop文件的序列化 / 107
5.3.3  Writable接口 / 107
5.3.4  WritableComparable接口 / 108
5.3.5  自定義Writable接口 / 109
5.3.6  序列化框架 / 113
5.3.7  數據序列化系統Avro / 114
5.4  Hadoop的Writable類型 / 115
5.4.1  Writable類的層次結構 / 115
5.4.2  Text類型 / 116
5.4.3  NullWritable類型 / 117
5.4.4  ObjectWritable類型 / 117
5.4.5  GenericWritable類型 / 117
5.5  文件壓縮 / 117
5.5.1  Hadoop支持的壓縮格式 / 118
5.5.2  Hadoop中的編碼器和解碼器 / 118
5.5.3  本地庫 / 121
5.5.4  可分割壓縮 LZO / 122
5.5.5  壓縮文件性能比較 / 122
5.5.6  Snappy壓縮 / 124
5.5.7  gzip、LZO和Snappy比較 / 124
5.6  本章小結 / 125
第6章  MapReduce工作原理 / 126
6.1  MapReduce的函數式編程概念 / 126
6.1.1  列表處理 / 126
6.1.2  Mapping數據列表 / 127
6.1.3  Reducing數據列表 / 127
6.1.4  Mapper和Reducer如何工作 / 128
6.1.5  應用實例:詞頻統計 / 129
6.2  MapReduce框架結構 / 129
6.2.1  MapReduce模型 / 130
6.2.2  MapReduce框架組成 / 130
6.3  MapReduce運行原理 / 132
6.3.1  作業的提交 / 132
6.3.2  作業初始化 / 134
6.3.3  任務的分配 / 136
6.3.4  任務的執行 / 136
6.3.5  進度和狀態的更新 / 136
6.3.6  MapReduce的進度組成 / 137
6.3.7  任務完成 / 137
6.4  MapReduce容錯 / 137
6.4.1  任務失敗 / 138
6.4.2  TaskTracker失敗 / 138
6.4.3  JobTracker失敗 / 138
6.4.4  子任務失敗 / 138
6.4.5  任務失敗反復次數的處理方法 / 139
6.5  Shuffle階段和Sort階段 / 139
6.5.1  Map端的Shuffle / 140
6.5.2  Reduce端的Shuffle / 142
6.5.3  Shuffle過程參數調優 / 143
6.6  任務的執行 / 144
6.6.1  推測執行 / 144
6.6.2  任務JVM重用 / 145
6.6.3  跳過壞的記錄 / 145
6.6.4  任務執行的環境 / 146
6.7  作業調度器 / 146
6.7.1  先進先出調度器 / 146
6.7.2  容量調度器 / 146
6.7.3  公平調度器 / 149
6.8  自定義Hadoop調度器 / 153
6.8.1  Hadoop調度器框架 / 153
6.8.2  編寫Hadoop調度器 / 155
6.9  YARN介紹 / 157
6.9.1  異步編程模型 / 157
6.9.2  YARN支持的計算框架 / 158
6.9.3  YARN架構 / 158
6.9.4  YARN工作流程 / 159
6.10  本章小結 / 160
第7章  Eclipse插件的應用 / 161
7.1  編譯Hadoop源碼 / 161
7.1.1  下載Hadoop源碼 / 161
7.1.2  準備編譯環境 / 161
7.1.3  編譯common組件 / 162
7.2  Eclipse安裝MapReduce插件 / 166
7.2.1  查找MapReduce插件 / 166
7.2.2  新建一個Hadoop location / 167
7.2.3  Hadoop插件操作HDFS / 168
7.2.4  運行MapReduce的驅動類 / 170
7.3  MapReduce的Debug調試 / 171
7.3.1  進入Debug運行模式 / 171
7.3.2  Debug調試具體操作 / 172
7.4  單元測試框架MRUnit / 174
7.4.1  認識MRUnit框架 / 174
7.4.2  準備測試案例 / 174
7.4.3  Mapper單元測試 / 176
7.4.4  Reducer單元測試 / 177
7.4.5  MapReduce單元測試 / 178
7.5  本章小結 / 179
第8章  MapReduce編程開發 / 180
8.1  WordCount案例分析 / 180
8.1.1  MapReduce工作流程 / 180
8.1.2  WordCount的Map過程 / 181
8.1.3  WordCount的Reduce過程 / 182
8.1.4  每個過程產生的結果 / 182
8.1.5  Mapper抽象類 / 184
8.1.6  Reducer抽象類 / 186
8.1.7  MapReduce驅動 / 188
8.1.8  MapReduce最小驅動 / 189
8.2  輸入格式 / 193
8.2.1  InputFormat接口 / 193
8.2.2  InputSplit類 / 195
8.2.3  RecordReader類 / 197
8.2.4  應用實例:隨機生成100個小數并求最大值 / 198
8.3  輸出格式 / 205
8.3.1  OutputFormat接口 / 205
8.3.2  RecordWriter類 / 206
8.3.3  應用實例:把首字母相同的單詞放到一個文件里 / 206
8.4  壓縮格式 / 211
8.4.1  如何在MapReduce中使用壓縮 / 211
8.4.2  Map作業輸出結果的壓縮 / 212
8.5  MapReduce優化 / 212
8.5.1  Combiner類 / 212
8.5.2  Partitioner類 / 213
8.5.3  分布式緩存 / 217
8.6  輔助類 / 218
8.6.1  讀取Hadoop配置文件 / 218
8.6.2  設置Hadoop的配置文件屬性 / 219
8.6.3  GenericOptionsParser選項 / 220
8.7  Streaming接口 / 221
8.7.1  Streaming工作原理 / 221
8.7.2  Streaming編程接口參數 / 221
8.7.3  作業配置屬性 / 222
8.7.4  應用實例:抓取網頁的標題 / 223
8.8  本章小結 / 225
第9章  MapReduce 高級應用 / 226
9.1  計數器 / 226
9.1.1  默認計數器 / 226
9.1.2  自定義計數器 / 229
9.1.3  獲取計數器 / 231
9.2  MapReduce二次排序 / 232
9.2.1  二次排序原理 / 232
9.2.2  二次排序的算法流程 / 233
9.2.3  代碼實現 / 235
9.3  MapReduce中的Join算法 / 240
9.3.1  Reduce端Join / 240
9.3.2  Map端Join / 242
9.3.3  半連接Semi Join / 244
9.4  MapReduce從MySQL讀寫數據 / 244
9.4.1  讀數據 / 245
9.4.2  寫數據 / 248
9.5  Hadoop系統調優 / 248
9.5.1  小文件優化 / 249
9.5.2  Map和Reduce個數設置 / 249
9.6  本章小結 / 250
第10章  數據倉庫工具Hive / 251
10.1  認識Hive / 251
10.1.1  Hive工作原理 / 251
10.1.2  Hive數據類型 / 252
10.1.3  Hive的特點 / 253
10.1.4  Hive下載與安裝 / 255
10.2  Hive架構 / 256
10.2.1  Hive用戶接口 / 257
10.2.2  Hive元數據庫 / 259
10.2.3  Hive的數據存儲 / 262
10.2.4  Hive解釋器 / 263
10.3  Hive 文件格式 / 264
10.3.1  TextFile格式 / 265
10.3.2  SequenceFile 格式 / 265
10.3.3  RCFile文件格式 / 265
10.3.4  自定義文件格式 / 269
10.4  Hive操作 / 270
10.4.1  表操作 / 270
10.4.2  視圖操作 / 278
10.4.3  索引操作 / 280
10.4.4  分區操作 / 283
10.4.5  桶操作 / 289
10.5  Hive復合類型 / 290
10.5.1  Struct類型 / 291
10.5.2  Array類型 / 292
10.5.3  Map類型 / 293
10.6  Hive的JOIN詳解 / 294
10.6.1  JOIN操作語法 / 294
10.6.2  JOIN原理 / 294
10.6.3  外部JOIN / 295
10.6.4  Map端JOIN / 296
10.6.5  JOIN中處理NULL值的語義區別 / 296
10.7  Hive 優化策略 / 297
10.7.1  列裁剪 / 297
10.7.2  Map Join操作 / 297
10.7.3  Group By操作 / 298
10.7.4  合并小文件 / 298
10.8  Hive內置操作符與函數 / 298
10.8.1  字符串函數 / 299
10.8.2  集合統計函數 / 299
10.8.3  復合類型操作 / 301
10.9  Hive用戶自定義函數接口 / 302
10.9.1  用戶自定義函數UDF / 302
10.9.2  用戶自定義聚合函數UDAF / 304
10.10  Hive的權限控制 / 306
10.10.1  角色的創建和刪除 / 307
10.10.2  角色的授權和撤銷 / 307
10.10.3  超級管理員權限 / 309
10.11  應用實例:使用 JDBC開發Hive 程序 / 311
10.11.1  準備測試數據 / 311
10.11.2  代碼實現 / 311
10.12  本章小結 / 313
第11章  開源數據庫HBase / 314
11.1  認識HBase / 314
11.1.1  HBase的特點 / 314
11.1.2  HBase訪問接口 / 314
11.1.3  HBase存儲結構 / 315
11.1.4  HBase存儲格式 / 317
11.2  HBase設計 / 319
11.2.1  邏輯視圖 / 320
11.2.2  框架結構及流程 / 321
11.2.3  Table和Region的關系 / 323
11.2.4  -ROOT-表和.META.表 / 323
11.3  關鍵算法和流程 / 324
11.3.1  Region定位 / 324
11.3.2  讀寫過程 / 325
11.3.3  Region分配 / 327
11.3.4  Region Server上線和下線 / 327
11.3.5  Master上線和下線 / 327
11.4  HBase安裝 / 328
11.4.1  HBase單機安裝 / 328
11.4.2  HBase分布式安裝 / 330
11.5  HBase的Shell操作 / 334
11.5.1  一般操作 / 334
11.5.2  DDL操作 / 335
11.5.3  DML操作 / 337
11.5.4  HBase Shell腳本 / 339
11.6  HBase客戶端 / 340
11.6.1  Java API交互 / 340
11.6.2  MapReduce操作HBase / 344
11.6.3  向HBase中寫入數據 / 348
11.6.4  讀取HBase中的數據 / 350
11.6.5  Avro、REST和Thrift接口 / 352
11.7  本章小結 / 353
第12章  Mahout算法 / 354
12.1  Mahout的使用 / 354
12.1.1  安裝Mahout / 354
12.1.2  運行一個Mahout案例 / 354
12.2  Mahout數據表示 / 356
12.2.1  偏好Perference類 / 356
12.2.2  數據模型DataModel類 / 357
12.2.3  Mahout 鏈接MySQL數據庫 / 358
12.3  認識Taste框架 / 360
12.4  Mahout推薦器 / 361
12.4.1  基于用戶的推薦器 / 361
12.4.2  基于項目的推薦器 / 362
12.4.3  Slope One 推薦策略 / 363
12.5  推薦系統 / 365
12.5.1  個性化推薦 / 365
12.5.2  商品推薦系統案例 / 366
12.6  本章小結 / 370
附錄A  Hive內置操作符與函數 / 371
附錄B  HBase 默認配置解釋 / 392
附錄C  Hadoop三個配置文件的參數含義說明 / 398

(資深專家系統講解Hadoop開發各項技術和編程方法)
本書由資深Hadoop技術專家撰寫,系統、全面、深入地講解了Hadoop開發者需要掌握的技術和知識,包括HDFS的原理和應用、Hadoop文件I/O的原理和應用、MapReduce的原理和高級應用、MapReduce的編程方法和技巧,以及Hive、HBase和Mahout等技術和工具的使用。并且提供大量基于實際生產環境的案例,實戰性非常強。
全書一共12章。第1~2章詳細地介紹了Hadoop的生態系統、關鍵技術以及安裝和配置;第3章是MapReduce的使用入門,讓讀者了解整個開發過程;第4~5章詳細講解了分布式文件系統HDFS和Hadoop的文件I/O;第6章分析了MapReduce的工作原理;第7章講解了如何利用Eclipse來編譯Hadoop的源代碼,以及如何對Hadoop應用進行測試和調試;第8~9章細致地講解了MapReduce的開發方法和高級應用;第10~12章系統地講解了Hive、HBase和Mahout。
pagetop