Hadoop實戰

Hadoop實戰

《Hadoop實戰》是2011年10月人民郵電出版社出版的圖書,作者(美)Chuck Lam,譯者是韓冀中。

內容簡介

作為雲計算所青睞的分散式架構,Hadoop是一個用Java語言實現的軟體框架,在由大量計算機組成的集群中運行海量數據的分散式計算,是谷歌實現雲計算的重要基石。《Hadoop實戰》分為3個部分,深入淺出地介紹了Hadoop框架、編寫和運行Hadoop數據處理程式所需的實踐技能及Hadoop之外更大的生態系統。  《Hadoop實戰》適合需要處理大量離線數據的雲計算程式設計師、架構師和項目經理閱讀參考。

圖書目錄

第一部分 Hadoop——一種分散式編程框架

第1章 Hadoop簡介 2

1.1 為什麼寫《Hadoop 實戰》 3

1.2 什麼是Hadoop 3

1.3 了解分散式系統和Hadoop 4

1.4 比較SQL資料庫和Hadoop 5

1.5 理解MapReduce 6

1.5.1 動手擴展一個簡單程式 7

1.5.2 相同程式在MapReduce中的擴展 9

1.6 用Hadoop統計單詞——運行第一個程式 11

1.7 Hadoop歷史 15

1.8 小結 16

1.9 資源 16

第2章 初識Hadoop 17

2.1 Hadoop的構造模組 17

2.1.1 NameNode 17

2.1.2 DataNode 18

2.1.3 Secondary NameNode 19

2.1.4 JobTracker 19

2.1.5 TaskTracker 19

2.2 為Hadoop集群安裝SSH 21

2.2.1 定義一個公共賬號 21

2.2.2 驗證SSH安裝 21

2.2.3 生成SSH密鑰對 21

2.2.4 將公鑰分布並登錄驗證 22

2.3 運行Hadoop 22

2.3.1 本地(單機)模式 23

2.3.2 偽分布模式 24

2.3.3 全分布模式 25

2.4 基於Web的集群用戶界面 28

2.5 小結 30

第3章 Hadoop組件 31

3.1 HDFS檔案操作 31

3.1.1 基本檔案命令 32

3.1.2 編程讀寫HDFS 35

3.2 剖析MapReduce程式 37

3.2.1 Hadoop數據類型 39

3.2.2 Mapper 40

3.2.3 Reducer 41

3.2.4 Partitioner:重定向Mapper輸出 41

3.2.5 Combiner:本地reduce 43

3.2.6 預定義mapper和Reducer類的單詞計數 43

3.3 讀和寫 43

3.3.1 InputFormat 44

3.3.2 OutputFormat 49

3.4 小結 50

第二部分 實戰

第4章 編寫MapReduce基礎程式 52

4.1 獲得專利數據集 52

4.1.1 專利引用數據 53

4.1.2 專利描述數據 54

4.2 構建MapReduce程式的基礎模板 55

4.3 計數 60

4.4 適應Hadoop API的改變 64

4.5 Hadoop的Streaming 67

4.5.1 通過Unix命令使用Streaming 68

4.5.2 通過腳本使用Streaming 69

4.5.3 用Streaming處理鍵/值對 72

4.5.4 通過Aggregate包使用Streaming 75

4.6 使用combiner提升性能 80

4.7 溫故知新 83

4.8 小結 84

4.9 更多資源 84

第5章 高階MapReduce 85

5.1 連結MapReduce作業 85

5.1.1 順序連結MapReduce作業 85

5.1.2 具有複雜依賴的MapReduce連結 86

5.1.3 預處理和後處理階段的連結 86

5.2 聯結不同來源的數據 89

5.2.1 Reduce側的聯結 90

5.2.2 基於DistributedCache的複製聯結 98

5.2.3 半聯結:map側過濾後在reduce側聯結 101

5.3 創建一個Bloom filter 102

5.3.1 Bloom filter做了什麼 102

5.3.2 實現一個Bloom filter 104

5.3.3 Hadoop 0.20以上版本的Bloom filter 110

5.4 溫故知新 110

5.5 小結 111

5.6 更多資源 112

第6章 編程實踐 113

6.1 開發MapReduce程式 113

6.1.1 本地模式 114

6.1.2 偽分布模式 118

6.2 生產集群上的監視和調試 123

6.2.1 計數器 123

6.2.2 跳過壞記錄 125

6.2.3 用IsolationRunner重新運行出錯的任務 128

6.3 性能調優 129

6.3.1 通過combiner來減少網路流量 129

6.3.2 減少輸入數據量 129

6.3.3 使用壓縮 129

6.3.4 重用JVM 132

6.3.5 根據猜測執行來運行 132

6.3.6 代碼重構與算法重寫 133

6.4 小結 134

第7章 細則手冊 135

7.1 向任務傳遞作業定製的參數 135

7.2 探查任務特定信息 137

7.3 劃分為多個輸出檔案 138

7.4 以資料庫作為輸入輸出 143

7.5 保持輸出的順序 145

7.6 小結 146

第8章 管理Hadoop 147

8.1 為實際套用設定特定參數值 147

8.2 系統體檢 149

8.3 許可權設定 151

8.4 配額管理 151

8.5 啟用資源回收筒 152

8.6 刪減DataNode 152

8.7 增加DataNode 153

8.8 管理NameNode和SNN 153

8.9 恢復失效的NameNode 155

8.10 感知網路布局和機架的設計 156

8.11 多用戶作業的調度 157

8.11.1 多個JobTracker 158

8.11.2 公平調度器 158

8.12 小結 160

第三部分 Hadoop也瘋狂

第9章 在雲上運行Hadoop 162

9.1 Amazon Web Services簡介 162

9.2 安裝AWS 163

9.2.1 獲得AWS身份認證憑據 164

9.2.2 獲得命令行工具 166

9.2.3 準備SSH密鑰對 168

9.3 在EC2上安裝Hadoop 169

9.3.1 配置安全參數 169

9.3.2 配置集群類型 169

9.4 在EC2上運行MapReduce程式 171

9.4.1 將代碼轉移到Hadoop集群上 171

9.4.2 訪問Hadoop集群上的數據 172

9.5 清空和關閉EC2實例 175

9.6 Amazon Elastic MapReduce和其他AWS服務 176

9.6.1 Amazon Elastic MapReduce 176

9.6.2 AWS導入/導出 177

9.7 小結 177

第10章 用Pig編程 178

10.1 像Pig一樣思考 178

10.1.1 數據流語言 179

10.1.2 數據類型 179

10.1.3 用戶定義函式 179

10.2 安裝Pig 179

10.3 運行Pig 180

10.4 通過Grunt學習Pig Latin 182

10.5 談談Pig Latin 186

10.5.1 數據類型和schema 186

10.5.2 表達式和函式 187

10.5.3 關係型運算符 189

10.5.4 執行最佳化 196

10.6 用戶定義函式 196

10.6.1 使用UDF 196

10.6.2 編寫UDF 197

10.7 腳本 199

10.7.1 注釋 199

10.7.2 參數替換 200

10.7.3 多查詢執行 201

10.8 Pig實戰——計算相似專利的例子 201

10.9 小結 206

第11章 Hive及Hadoop群 207

11.1 Hive 207

11.1.1 安裝與配置Hive 208

11.1.2 查詢的示例 210

11.1.3 深入HiveQL 213

11.1.4 Hive小結 221

11.2 其他Hadoop相關的部分 221

11.2.1 HBase 221

11.2.2 ZooKeeper 221

11.2.3 Cascading 221

11.2.4 Cloudera 222

11.2.5 Katta 222

11.2.6 CloudBase 222

11.2.7 Aster Data和Greenplum 222

11.2.8 Hama和Mahout 223

11.3 小結 223

第12章 案例研究 224

12.1 轉換《紐約時報》1100萬個庫存圖片文檔 224

12.2 挖掘中國移動的數據 225

12.3 在StumbleUpon推薦最佳網站 229

12.3.1 分散式StumbleUpon的開端 230

12.3.2 HBase和StumbleUpon 230

12.3.3 StumbleUpon上的更多Hadoop套用 236

12.4 搭建面向企業查詢的分析系統——IBM的ES2項目 238

12.4.1 ES2系統結構 240

12.4.2 ES2爬蟲 241

12.4.3 ES2分析 242

12.4.4 小結 249

12.4.5 參考文獻 250

附錄A HDFS檔案命令 251

相關詞條

相關搜尋

熱門詞條

聯絡我們