精通Hadoop 精通Hadoop (图灵程序设计丛书)

卡倫斯(Sandeep Karanth)

  • 出版商: 人民郵電
  • 出版日期: 2016-01-01
  • 定價: $294
  • 售價: 8.5$250
  • 語言: 簡體中文
  • 頁數: 249
  • ISBN: 7115411050
  • ISBN-13: 9787115411051
  • 相關分類: Hadoop
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

<內容提要>

 

本書是一本循序漸進的指導手冊,重點介紹了Hadoop的高級概念和特性。內容涵蓋了Hadoop 2.X版的改進,MapReduce、Pig和Hive等的優化及其高級特性,Hadoop 2.0的專屬特性(如YARN和HDFS聯合),以及如何使用Hadoop2.0版本擴展Hadoop的能力。

如果你想拓展自己的Hadoop知識和技能,想應對具有挑戰性的數據處理問題,想讓Hadoop作業、Pig腳本和Hive查詢運行得更快,或者想瞭解升級Hadoop的好處,那麼本書便是你的不二選擇。

通過閱讀本書,你將能夠:

理解從Hadoop 1.0到Hadoop 2.0的變化

定製和優化Hadoop 2.0中的MapReduce作業

探究Hadoop I/O和不同的數據格式

深入學習YARN和Storm,並通過YARN集成Hadoop和Storm

基於ElasticMapReduce部署Hadoop

探究HDFS替代品,學習HDFS聯合

掌握Hadoop安全方面的主要內容

使用Mahout和RHadoop進行Hadoop數據分析

 

<目錄>

第1章Hadoop 2.X 1 

1.1 Hadoop的起源1 

1.2 Hadoop的演進2 

1.3 Hadoop 2.X 6 

1.3.1 Yet Another Resource Negotiator(YARN) 7 

1.3.2存儲層的增強8 

1.3.3支持增強11 

1.4 Hadoop的發行版11 

1.4.1選哪個Hadoop發行版12 

1.4.2可用的發行版14 

1.5小結16 

第2章MapReduce進階17 

2.1 MapReduce輸入18 

2.1.1 InputFormat類18 

2.1.2 InputSplit類18 

2.1. 3 RecordReader類19 

2.1.4 Hadoop的“小文件”問題20 

2.1.5輸入過濾24 

2.2 Map任務27 

2.2.1 dfs.blocksize屬性28 

2.2.2中間輸出結果的排序與溢出28 

2.2.3本地reducer和Combiner 31 

2.2.4獲取中間輸出結果——Map側31 

2.3 Reduce任務32 

2.3.1獲取中間輸出結果——Reduce側32 

2.3.2中間輸出結果的合併與溢出33 

2.4 MapReduce的輸出34 

2.5 MapReduce作業的計數器34 

2.6數據連接的處理36 

2.6.1 Reduce側的連接36 

2.6.2 Map側的連接42 

2.7小結45 

第3章Pig進階47 

3.1 Pig對比SQL 48 

3.2不同的執行模式48 

3.3 Pig的複合數據類型49 

3.4編譯Pig腳本50 

3.4.1邏輯計劃50 

3.4.2物理計劃51 

3.4.3 MapReduce計劃52 

3.5開發和調試助手52 

3.5.1 DESCRIBE命令52 

3.5.2 EXPLAIN命令53 

3.5.3 ILLUSTRATE命令53 

3.6 Pig操作符的高級特性54 

3.6.1 FOREACH操作符進階54 

3.6.2 Pig的特殊連接58 

3.7用戶定義函數61 

3.7.1運算函數61 

3.7.2加載函數66 

3.7.3存儲函數68 

3.8 Pig的性能優化69 

3.8.1優化規則69 

3.8.2 Pig腳本性能的測量71 

3.8.3 Pig的Combiner 72 

3.8.4 Bag數據類型的內存72 

3.8.5 Pig的reducer數量72 

3.8.6 Pig的multiquery模式73 

3.9佳實踐73 

3.9.1明確地使用類型74 

3.9.2更早更頻繁地使用投影74 

3.9.3更早更頻繁地使用過濾74 

3.9.4使用LIMIT操作符74 

3.9.5使用DISTINCT操作符74 

3.9. 6減少操作74 

3.9.7使用Algebraic UDF 75 

3.9.8使用Accumulator UDF 75 

3.9.9剔除數據中的空記錄75 

3.9.10使用特殊連接75 

3.9.11壓縮中間結果75 

3.9.12合併小文件76 

3.10小結76 

第4章Hive進階77 

4.1 Hive架構77 

4.1.1 Hive元存儲78 

4.1.2 Hive編譯器78 

4.1.3 Hive執行引擎78 

4.1.4 Hive的支持組件79 

4.2數據類型79 

4.3文件格式80 

4.3.1壓縮文件80 

4.3.2 ORC文件81 

4.3.3 Parquet文件81 

4.4數據模型82 

4.4.1動態分區84 

4.4.2 Hive表索引85 

4.5 Hive查詢優化器87 

4.6 DML進階88 

4.6.1 GROUP BY操作88 

4.6.2 ORDER BY與SORT BY 88 

4.6.3 JOIN類型88 

4.6.4高級聚合89 

4.6.5其他高級語句90 

4.7 UDF、UDAF和UDTF 90 

4.8小結93 

第5章序列化和Hadoop I/ O 95 

5.1 Hadoop數據序列化95 

5.1.1 Writable與WritableComparable 96 

5.1.2 Hadoop與Java序列化的區別98 

5.2 Avro序列化100 

5.2.1 Avro與MapReduce 102 

5.2.2 Avro與Pig 105 

5.2.3 Avro與Hive 106 

5.2.4比較Avro與Protocol Buffers/Thrift 107 

5.3文件格式108 

5.3.1 Sequence文件格式108 

5.3.2 MapFile格式111 

5.3.3其他數據結構113 

5.4壓縮113 

5.4.1分片與壓縮114 

5.4. 2壓縮範圍115 

5.5小結115 

第6章YARN——其他應用模式進入Hadoop的引路人116 

6.1 YARN的架構117 

6.1.1資源管理器117 

6.1.2 Application Master 118 

6.1.3節點管理器119 

6.1.4 YARN客戶端120 

6.2開發YARN的應用程序120 

6.2.1實現YARN客戶端120 

6.2.2實現AM實例125 

6.3 YARN的監控129 

6.4 YARN中的作業調度134 

6.4.1容量調度器134 

6.4.2公平調度器137 

6.5 YARN命令行139 

6.5.1用戶命令140 

6.5.2管理員命令140 

6.6小結141 

第7章基於YARN的Storm——Hadoop中的低延時處理142 

7.1批處理對比流式處理142 

7.2 Apache Storm 144 

7.2.1 Apache Storm的集群架構144 

7.2.2 Apache Storm的計算和數據模型145 

7.2.3 Apache Storm用例146 

7.2.4 Apache Storm的開發147 

7.2.5 Apache Storm 0.9.1 153 

7.3基於YARN的Storm 154 

7.3.1在YARN上安裝Apache Storm 154 

7.3.2安裝過程154 

7.4小結161 

第8章雲上的Hadoop 162 

8.1雲計算的特點162 

8.2雲上的Hadoop 163 

8.3 Elastic MapReduce 164 

8.4小結175 

第9章HDFS替代品176 

9.1 HDFS的優缺點176 

9.2 AWS S3 177 

9.3在Hadoop中實現文件系統179 

9.4在Hadoop中實現S3原生文件系統179 

9.5小結189 

第10章HDFS聯合190 

10.1舊版HDFS架構的限制190 

10.2 HDFS聯合的架構192 

10.2.1 HDFS聯合的好處193 

10.2.2部署聯合NameNode 193 

10.3 HDFS高可用性195 

10.3.1從NameNode、檢查節點和備份節點195 

10.3.2高可用性——共享edits 196 

10.3.3 HDFS實用工具197 

10.3.4三層與四層網絡拓撲197 

10.4 HDFS塊放置策略198 

10.5小結200 

第11章Hadoop安全201 

11.1安全的核心201 

11.2 Hadoop中的認證202 

11.2.1 Kerberos認證202 

11.2.2 Kerberos的架構和工作流203 

11.2.3 Kerberos認證和Hadoop 204 

11.2.4接口的認證204 

11.3 Hadoop中的授權205 

11.3.1 HDFS的授權205 

11.3.2限制HDFS的使用量208 

11.3.3 Hadoop中的服務級授權209 

11.4 Hadoop中的數據保密性211 

11.5 Hadoop中的日誌審計216 

11.6小結217 

第12章使用Hadoop進行數據分析218 

12.1數據分析工作流218 

12.2機器學習220 

12.3 Apache Mahout 222 

12.4使用Hadoop和Mahout進行文檔分析223 

12.4.1詞頻223 

12.4.2文頻224 

12.4.3詞頻-逆向文頻224 

12.4.4 Pig中的Tf-idf 225 

12.4.5餘弦 ​​相似度距離度量228 

12.4.6使用k-means的聚類228 

12.4.7使用Apache Mahout進行k-means聚類229 

12.5 RHadoop 233 

12.6小結233 

附錄微軟Windows中的Hadoop 235

 

<作者介紹>

 

Sandeep Karanth 

 

Scibler公司聯合創始人,負責數據智能產品的架構;DataPhi Labs公司聯合創始人兼首席架構師,專註於構建和實施軟件系統。他擁有14年以上的軟件行業從業經驗,既設計過企業數據應用,也開發過新一代移動應用。他曾就職於微軟總部和微軟印度研究院。他的Twitter賬號是@karanths,GitHub賬號是sgithub./Karanth。