Hadoop高級編程:構建與實現大數據解決方案

Hadoop高級編程:構建與實現大數據解決方案

《Hadoop高級編程:構建與實現大數據解決方案》是清華大學出版社於2014年7月1日出版的圖書,作者是[美] Boris Lublinsky,[美] Kevin T. Smith,[美] Alexey Yakubovich。

基本介紹

  • 書名:Hadoop高級編程:構建與實現大數據解決方案
  • 作者:[美]Boris Lublinsky、Kevin T. Smith、Alexey Yakubovich
  • 譯者:穆玉偉、靳曉輝
  • 出版社:清華大學出版社
  • 出版時間:2014年7月1日
  • 頁數:448 頁
  • 定價:59.8 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787302369066
  • 印次:1-3
  • 印刷日期:2016年1月
圖書目錄,內容簡介,作者簡介,

圖書目錄

第1章 大數據和Hadoop生態系統 1
1.1 當大數據遇見Hadoop 2
1.1.1 Hadoop:直面大數據的挑戰 3
1.1.2 商業世界中的數據科學 4
1.2 Hadoop生態系統 6
1.3 Hadoop核心組件 7
1.4 Hadoop發行版 9
1.5 使用Hadoop開發企業級套用 10
1.6 小結 14
第2章 Hadoop數據存儲 15
2.1 HDFS
2.1.1 HDFS架構
2.1.2 使用HDFS檔案
2.1.3 Hadoop特定的檔案類型
2.1.4 HDFS聯盟和高可用性
2.2 HBase
2.2.1 HBase架構
2.2.2 HBase結構設計
2.2.3 HBase編程
2.2.4 HBase新特性
2.3 將HDFS和HBase的組合用於高效數據存儲
2.4 使用Apache Avro
2.5 利用HCatalog管理元數據
2.6 為應用程式選擇合適的Hadoop數據組織形式
2.7 小結
第3章 使用MapReduce處理數據
3.1 了解MapReduce
3.1.1 MapReduce執行管道
3.1.2 MapReduce中的運行時協調和任務管理
3.2 第一個MapReduce應用程式
3.3 設計MapReduce實現
3.3.1 將MapReduce用作並行處理框架
3.3.2 使用MapReduce進行簡單的數據處理
3.3.3 使用MapReduce構建連線
3.3.4 構建疊代式MapReduce應用程式
3.3.5 是否使用MapReduce
3.3.6 常見的MapReduce設計陷阱
3.4 小結
第4章 自定義MapReduce執行
4.1 使用InputFormat控制MapReduce執行
4.1.1 為計算密集型應用程式實現InputFormat
4.1.2 實現InputFormat以控制Map的數量
4.1.3 實現用於多個HBase表的InputFormat
4.2 使用自定義RecordReader以自己的方式讀取數據
4.2.1 實現基於佇列的RecordReader
4.2.2 為XML數據實現RecordReader
4.3 使用自定義輸出格式組織輸出數據
4.4 使用自定義記錄寫入器以自己的方式寫入數據
4.5 使用組合器最佳化MapReduce執行
4.6 使用分區器控制Reducer執行
4.7 在Hadoop中使用非Java代碼
4.7.1 Pipes
4.7.2 Hadoop Streaming
4.7.3 使用JNI
4.8 小結
第5章 構建可靠的MapReduce應用程式
5.1 單元測試MapReduce應用程式
5.1.1 測試Mapper
5.1.2 測試Reducer
5.1.3 集成測試
5.2 使用Eclipse進行本地應用程式測試
5.3 將日誌用於Hadoop測試
5.4 使用作業計數器報告指標
5.5 MapReduce中的防禦性編程
5.6 小結
第6章 使用Oozie自動化數據處理
6.1 認識Oozie
6.2 Oozie Workflow
6.2.1 在Oozie Workflow中執行異步操作
6.2.2 Oozie的恢復能力
6.2.3 Oozie Workflow作業的生命周期
6.3 Oozie Coordinator
6.4 Oozie Bundle
6.5 用表達式語言對Oozie進行參數化
6.5.1 Workflow函式
6.5.2 Coordinator函式
6.5.3 Bundle函式
6.5.4 其他EL函式
6.6 Oozie作業執行模型
6.7 訪問Oozie
6.8 Oozie SLA
6.9 小結
第7章 使用Oozie
7.1 使用探測包驗證位置相關信息的正確性
7.2 設計基於探測包的地點正確性驗證
7.3 設計Oozie Workflow
7.4 實現Oozie Workflow應用程式
7.4.1 實現數據準備Workflow
7.4.2 實現考勤指數和聚類探測包串Workflow
7.5 實現 Workflow行為
7.5.1 發布來自java動作的執行上下文
7.5.2 在Oozie Workflow中使用MapReduce作業
7.6 實現Oozie Coordinator應用程式
7.7 實現Oozie Bundle應用程式
7.8 部署、測試和執行Oozie應用程式
7.8.1 部署Oozie應用程式
7.8.2 使用Oozie CLI執行Oozie應用程式
7.8.3 向Oozie作業傳遞參數
7.9 使用Oozie控制台獲取Oozie應用程式信息
7.9.1 了解Oozie控制台界面
7.9.2 獲取 Coordinator作業信息
7.10 小結
第8章 高級Oozie特性
8.1 構建自定義Oozie Workflow動作
8.1.1 實現自定義Oozie Workflow動作
8.1.2 部署Oozie自定義Workflow動作
8.2 向Oozie Workflow添加動態執行
8.2.1 總體實現方法
8.2.2 一個機器學習模型、參數和算法
8.2.3 為疊代過程定義Workflow
8.2.4 動態Workflow生成
8.3 使用Oozie Java API
8.4 在Oozie套用中使用uber jar包
8.5 數據吸收傳送器
8.6 小結
第9章 實時Hadoop
9.1 現實世界中的實時套用
9.2 使用HBase來實現實時套用
9.2.1 將HBase用作圖片管理系統
9.2.2 將HBase用作Lucene後端
9.3 使用專門的實時Hadoop查詢系統
9.3.1 Apache Drill
9.3.2 Impala
9.3.3 實時查詢和MapReduce的對比
9.4 使用基於Hadoop的事件處理系統
9.4.1 HFlame
9.4.2 Storm
9.4.3 事件處理和MapReduce的對比
9.5 小結
第10章 Hadoop安全
10.1 簡要的歷史:理解Hadoop安全的挑戰
10.2 認證
10.2.1 Kerberos認證
10.2.2 委派安全憑據
10.3 授權
10.3.1 HDFS檔案訪問許可權
10.3.2 服務級授權
10.3.3 作業授權
10.4 Oozie認證和授權
10.5 網路加密
10.6 使用Rhino項目增強安全性
10.6.1 HDFS磁碟級加密
10.6.2 基於令牌的認證和統一的授權框架
10.6.3 HBase單元格級安全
10.7 將所有內容整合起來--保證Hadoop安全的最佳實踐
10.7.1 認證
10.7.2 授權
10.7.3 網路加密
10.7.4 敬請關注Hadoop的增強功能
10.8 小結
第11章 在AWS上運行Hadoop套用
11.1 初識AWS
11.2 在AWS上運行Hadoop的可選項
11.2.1 使用EC2實例的自定義安裝
11.2.2 彈性MapReduce
11.2.3 做出選擇前的額外考慮
11.3 理解EMR-Hadoop的關係
11.3.1 EMR架構
11.3.2 使用S3存儲
11.3.3 最大化EMR的使用
11.3.4 利用CloudWatch和其他AWS組件
11.3.5 訪問和使用EMR
11.4 使用AWS S3
11.4.1 理解桶的使用
11.4.2 使用控制台瀏覽內容
11.4.3 在S3中編程訪問檔案
11.4.4 使用MapReduce上傳多個檔案到S3
11.5 自動化EMR作業流創建和作業執行
11.6 管理EMR中的作業執行
11.6.1 在EMR集群上使用Oozie
11.6.2 AWS 簡單工作流
11.6.3 AWS數據管道
11.7 小結
第12章 為Hadoop實現構建企業級安全解決方案
12.1 企業級套用的安全顧慮
12.1.1 認證
12.1.2 授權
12.1.3 保密性
12.1.4 完整性
12.1.5 審計
12.2 Hadoop安全沒有為企業級套用原生地提供哪些機制
12.2.1 面向數據的訪問控制
12.2.2 差分隱私
12.2.3 加密靜止的數據
12.2.4 企業級安全集成
12.3 保證使用Hadoop的企業級套用安全的方法
12.3.1 使用Accumulo進行訪問控制保護
12.3.2 加密靜止數據
12.3.3 網路隔離和分隔方案
12.4 小結
第13章 Hadoop的未來
13.1 使用DSL簡化MapReduce編程
13.1.1 什麼是DSL
13.1.2 Hadoop的DSL
13.2 更快、更可擴展的數據處理
13.2.1 Apache YARN
13.2.2 Tez
13.3 安全性的改進
13.4 正在出現的趨勢
13.5 小結
附錄 有用的閱讀

內容簡介

如果你已經準備好要充分實施大規模可擴展性數據分析工作,那么需要知道如何利用Hadoop技術。《Hadoop高級編程:構建與實現大數據解決方案》可以幫助你做到這一點!本書關注用於構建先進的、基於Hadoop的企業級套用的架構和方案,並為實現現實的解決方案提供深入的、代碼級的講解。本書還會帶你領略數據設計以及數據設計如何影響實現。本書解釋了MapReduce的工作原理,並展示了如何在MapReduce中重新定製特定的業務問題。在整本書中,你將會發現深入的Java代碼示例,這些代碼示例可以直接使用,它們均源自於已經成功地構建和部署的應用程式。

作者簡介

Boris Lublinsky,是諾基亞的首席架構師,出版了70多篇作品,包括Applied SOA: Service-Oriented Architecture and Design Strategies 。
Kevin T. Smith,是Novetta Solutions公司AMS部門的技術解決方案總監,他為客戶構建高度安全的、面向數據的解決方案。
Alexey Yakubovich,是Hortonworks的一名系統架構師,而且是對象管理組織(OMG)關於SOA治理和模型驅動架構的特別興趣小組(SIG)的一名成員。

相關詞條

熱門詞條

聯絡我們