內容簡介
《Hadoop大數據處理》以大數據處理係統的三大關鍵要素——“存儲”、“計算”與“容錯”為起點,深入淺齣地介紹瞭如何使用Hadoop這一高性能分布式技術完成大數據處理任務。本書不僅包含瞭使用Hadoop進行大數據處理的實踐性知識和示例,還以圖文並茂的形式係統性地揭示瞭Hadoop技術族中關鍵組件的運行原理和優化手段,為讀者進一步提升Hadoop使用技巧和運行效率提供瞭頗具價值的參考。
《Hadoop大數據處理》共10章,涉及的主題包括大數據處理概論、基於Hadoop的大數據處理框架、MapReduce計算模式、使用HDFS存儲大數據、HBase大數據庫、大數據的分析處理、Hadoop環境下的數據整閤、Hadoop集群的管理與維護、基於MapReduce的數據挖掘實踐及麵嚮未來的大數據處理技術。最後附有一個在Windows環境下搭建Hadoop開發及調試環境的參考手冊。
《Hadoop大數據處理》適閤需要使用Hadoop處理大數據的程序員、架構師和産品經理作為技術參考和培訓資料,也可作為高校研究生和本科生教材。
作者簡介
劉軍,1994年至2003年,就讀於北京郵電大學信息工程學院,獲得博士學位。2003年至2007年,IBM中國研究院擔任高級研究員及部門經理,研究方嚮為電信開放業務平颱及IP融閤網絡管理。2007年至2012年,創辦歡城(北京)科技有限公司,為中國網頁遊戲産業開創者之一,研發的産品曾多次獲得互聯網業界奬項。2012年至今,北郵任教,在寬帶網絡監控教研中心從事電信網絡數據分析相關教學與研究工作。
內頁插圖
目錄
第1章 大數據處理概論
1.1 什麼是大數據
1.2 數據處理平颱的基礎架構
1.3 大數據處理的存儲
1.3.1 提升容量
1.3.2 提升吞吐量
1.4 大數據處理的計算模式
1.4.1 多處理技術
1.4.2 並行計算
1.5 大數據處理係統的容錯性
1.5.1 數據存儲容錯
1.5.2 計算任務容錯
1.6 大數據處理的雲計算變革
本章參考文獻
第2章 基於Hadoop的大數據處理架構
2.1 Google核心雲計算技術
2.1.1 並行計算編程模型MapReduce
2.1.2 分布式文件係統GFS
2.1.3 分布式結構化數據存儲BigTable
2.2 Hadoop雲計算技術及發展
2.2.1 Hadoop的由來
2.2.2 Hadoop原理與運行機製
2.2.3 Hadoop相關技術及簡介
2.2.4 Hadoop技術的發展與演進
2.3 基於雲計算的大數據處理架構
2.4 基於雲計算的大數據處理技術的應用
2.4.1 百度
2.4.2 阿裏巴巴
2.4.3 騰訊
2.4.4 華為
2.4.5 中國移動
2.5 Hadoop運行實踐
本章參考文獻
第3章 MapReduce計算模式
3.1 MapReduce原理
3.2 MapReduce工作機製
3.2.1 MapReduce運行框架的組件
3.2.2 MapReduce作業的運行流程
3.2.3 作業調度
3.2.4 異常處理
3.3 MapReduce應用開發
3.3.1 MapReduce應用開發流程
3.3.2 通過Web界麵分析MapReduce應用
3.3.3 MapReduce任務執行的單步跟蹤
3.3.4 多個MapReduce過程的組閤模式
3.3.5 使用其他語言編寫MapReduce程序
3.3.6 不同數據源的數據聯結(Join)
3.4 MapReduce設計模式
3.4.1 計數(Counting)
3.4.2 分類(Classfication)
3.4.3 過濾處理(Filtering)
3.4.4 排序(Sorting)
3.4.5 去重計數(Distinct Counting)
3.4.6 相關計數(Cross-Correlation)
3.5 MapReduce算法實踐
3.5.1 最短路徑算法
3.5.2 反嚮索引算法
3.5.3 PageRank算法
3.6 MapReduce性能調優
3.6.1 MapReduce參數配置優化
3.6.2 使用Cominber減少數據傳輸
3.6.3 啓用數據壓縮
3.6.4 使用預測執行功能
3.6.5 重用JVM
本章參考文獻
第4章 使用HDFS存儲大數據
4.1 大數據的雲存儲需求
4.2 HDFS架構與流程
4.2.1 係統框架
4.2.2 數據讀取過程
4.2.3 數據寫入過程
4.3 文件訪問與控製
4.3.1 基於命令行的文件管理
4.3.2 通過API操作文件
4.4 HDFS性能優化
4.4.1 調整數據塊尺寸
4.4.2 規劃網絡與節點
4.4.3 調整服務隊列數量
4.4.4 預留磁盤空間
4.4.5 存儲平衡
4.4.6 根據節點功能優化磁盤配置
4.4.7 其他參數
4.5 HDFS的小文件存儲問題
4.5.1 Hadoop Archive工具
4.5.2 CombineFileInputFormat
4.5.3 SequenceFile格式
4.5.4 相關研究
4.6 HDFS的高可用性問題
4.6.1 基於配置的元數據備份
4.6.2 基於DRBD的元數據備份
4.6.3 Secondary NameNode/CheckpointNode
4.6.4 Backup Node
4.6.5 NameNode熱備份
4.6.6 HDFS的HA方案總結
本章參考文獻
第5章 HBase大數據庫
5.1 大數據環境下的數據庫
5.2 HBase架構與原理
5.2.1 係統架構及組件
5.2.2 數據模型與物理存儲
5.2.3 RegionServer的查找
5.2.4 物理部署與讀寫流程
5.3 管理HBase中的數據
5.3.1 Shell
5.3.2 Java API
5.3.3 非Java語言訪問
5.4 從RDBMS到HBase
5.4.1 行到列與主鍵到行關鍵字
5.4.2 聯閤查詢(Join)與去範例化(Denormalization)
5.5 在HBase上運行MapReduce
5.6 HBase性能優化
5.6.1 參數配置優化
5.6.2 錶設計優化
5.6.3 更新數據操作優化
5.6.4 讀數據操作優化
5.6.5 數據壓縮
5.6.6 JVM GC優化
5.6.7 負載均衡
5.6.8 性能測試工具
本章參考文獻
第6章 大數據的分析處理
6.1 大數據的分析處理概述
6.2 Hive
6.2.1 係統架構及組件
6.2.2 Hive數據結構
6.2.3 數據存儲格式
6.2.4 Hive支持的數據類型
6.2.5 使用HiveQL訪問數據
6.2.6 自定義函數擴展功能
6.3 Pig
6.3.1 Pig架構
6.3.2 Pig Latin語言
6.3.3 使用Pig處理數據
6.4 Hive與Pig的對比
本章參考文獻
第7章 Hadoop環境下的數據整閤
7.1 Hadoop計算環境下的數據整閤問題
7.2 數據庫整閤工具Sqoop
7.2.1 使用Sqoop導入數據
7.2.2 使用Sqoop導齣數據
7.2.3 Sqoop與Hive結閤
7.2.4 Sqoop對大對象數據的處理
7.3 Hadoop平颱內部數據整閤工具HCatalog
7.3.1 HCatalog的需求與實現
7.3.2 MapReduce使用HCatalog管理數據
7.3.3 Pig使用HCatalog管理數據
7.3.4 HCatalog的命令行與通知功能
本章參考文獻
第8章 Hadoop集群的管理與維護
8.1 雲計算平颱的管理體係
8.2 ZooKeeper——集群中的配置管理與協調者
8.2.1 集群環境下的配置管理
8.2.2 ZooKeeper架構
8.2.3 ZooKeeper的數據模型
8.3 Hadoop集群監控的基礎組件
8.3.1 Nagios
8.3.2 Ganglia
8.3.3 JMX
8.4 Ambari——Hadoop集群部署與監控集成工具
8.5 基於Cacti的Hadoop集群服務器監控
8.6 Chukwa——集群日誌收集及分析
8.7 基於Kerberos的Hadoop安全管理
8.8 Hadoop集群管理工具分析
本章參考文獻
第9章 基於MapReduce的數據挖掘
9.1 數據挖掘及其分布式並行化
9.2 基於MapReduce的數據挖掘與Mahout
9.3 經典數據挖掘算法的MapReduce實例
9.3.1 矩陣乘法
9.3.2 相似度計算
9.4 基於雲計算的數據挖掘實踐及麵臨的挑戰
本章參考文獻
第10章 麵嚮未來的大數據處理
10.1 下一代計算框架YARN
10.2 大數據的實時交互式分析
10.2.1 Google Dremel
10.2.2 Cloudera Impala
10.3 大數據的圖計算
10.3.1 BSP模型
10.3.2 Google Pregel計算框架
10.3.3 Apache Hama開源項目
本章參考文獻
附錄 基於Cygwin的Hadoop環境搭建
附錄A 安裝和配置Cygwin
附錄B 安裝和配置Hadoop
附錄C 運行示例程序驗證Hadoop安裝
附錄D 安裝和配置Eclipse下的Hadoop開發環境
前言/序言
Hadoop大數據處理 下載 mobi epub pdf txt 電子書 格式