Hadoop 理論與實踐
內容描述
《Hadoop理論與實踐》按照高等學校大數據、人工智能課程基本要求,以案例驅動的形式來組織內容,突出該課程的實踐性特點。
《Hadoop理論與實踐》主要包含四大部分:Hadoop技術、數據倉庫與Hive、Flume分佈式日誌處理系統、Spark及其生態圈概述。
其中,Hadoop技術包括大數據與數據分析、Hadoop生態系統介紹、Hadoop存儲、Hadoop計算之MapReduce、Hadoop安全等;
數據倉庫與Hive包括Hive與數據庫的基礎知識、Hive的高級特性、Hive優化及案例的應用;
Flume分佈式日誌處理系統包括Flume介紹、Flume使用案例及Flume開發案例的應用;
Spark及其生態圈概述包括Spark簡介及Spark生態系統詳解。
《Hadoop理論與實踐》內容安排合理,層次清晰,通俗易懂,實例豐富,突出理論與實踐的結合,
可作為各類高等院校人工智能與大數據相關專業的教材,也可供廣大程序設計人員參考。
目錄大綱
目 錄
第1章 大數據概述 1
1.1 大數據與數據分析 2
1.1.1 Hadoop的基礎組件 2
1.1.2 Hadoop分佈式文件系統 3
1.1.3 MapReduce 3
1.1.4 YARN 4
1.2 ZooKeeper 5
1.3 Hive 6
1.4 與其他系統集成 7
1.4.1 Hadoop生態系統 7
1.4.2 數據集成與Hadoop 8
1.4.3 Hadoop商用平臺CDH 9
第2章 Hadoop存儲 13
2.1 HDFS的基礎知識 14
2.1.1 HDFS概念 14
2.1.2 架構 18
2.1.3 接口 21
2.2 在分佈式模式下設置HDFS集群 26
2.3 HDFS的高級特性 30
2.3.1 快照 30
2.3.2 離線查看器 33
2.3.3 分層存儲 39
2.4 文件格式 42
2.5 雲存儲 43
第3章 數據倉庫和Hive 45
3.1 數據倉庫和Hive簡介 45
3.1.1 數據倉庫簡介 45
3.1.2 數據倉庫與數據庫的區別 46
3.1.3 Hive簡介 46
3.1.4 查看CDH中Hive版本 47
3.2 Hive與數據庫 48
3.2.1 Hive與RDBMS 48
3.2.2 HiveQL與SQL 50
3.3 Hive的高級特性 51
3.3.1 Hive的優缺點和適用場景 52
3.3.2 Hive進程介紹 52
3.3.3 Hive訪問方式 53
3.3.4 Hive體系結構 53
3.3.5 Hive Metastore 55
3.3.6 Hive數據類型 56
3.3.7 Hive的常用參數配置 57
3.3.8 Hive的數據模型 58
3.3.9 Hive函數 62
3.4 案例演示 66
3.4.1 準備數據 67
3.4.2 修改和查詢 71
3.4.3 表連接 72
3.4.4 創建視圖 74
3.4.5 創建索引 75
3.4.6 JDBC開發 76
3.4.7 UDF的開發 84
3.4.8 UDAF 86
3.5 Hive優化和Hive中的鎖 87
3.5.1 註意事項 87
3.5.2 Hive鎖 88
3.6 問題匯總 89
第4章 Hadoop計算 91
4.1 Hadoop MapReduce的基礎 91
4.1.1 概念 92
4.1.2 架構 94
4.2 啟動MapReduce作業 99
4.2.1 編寫map任務 100
4.2.2 編寫reduce任務 102
4.2.3 編寫MapReduce作業 103
4.2.4 MapReduce配置 105
4.3 MapReduce的高級特性 106
4.3.1 分佈式緩存 106
4.3.2 計數器 108
4.3.3 作業歷史服務器 109
第5章 Hadoop安全 113
5.1 提升Hadoop集群安全性 114
5.1.1 邊界安全 114
5.1.2 Kerberos認證 115
5.1.3 Hadoop中的服務級授權 120
5.2 提升數據安全性 124
5.2.1 數據分類 125
5.2.2 將數據傳到集群 125
5.2.3 保護集群中的數據 130
5.3 增強應用程序安全性 134
5.3.1 YARN 架構 134
5.3.2 YARN中的應用提交 135
第6章 Flume分佈式日誌處理系統 139
6.1 Flume介紹 139
6.1.1 Flume簡介 140
6.1.2 Flume原理 141
6.1.3 Flume特點 143
6.1.4 Flume結構 143
6.1.5 Flume使用 156
6.2 Flume使用案例 159
6.2.1 Flume監聽埠示例 159
6.2.2 兩個主機組成的Flume集群示例 162
6.2.3 HDFS Sink使用示例 164
6.2.4 扇出示例 167
6.2.5 負載均衡(Sink組)示例 169
6.3 Flume開發案例 178
6.3.1 開發自定義的Sink 178
6.3.2 Flume結合Kafka的使用 183
第7章 Spark及其生態圈概述 203
7.1 Spark 簡介 203
7.1.1 什麽是Spark 203
7.1.2 Spark與MapReduce比較 206
7.1.3 Spark的演進路線圖 206
7.2 Spark生態系統 207
7.2.1 Spark Core 208
7.2.2 Spark Streaming 209
7.2.3 Spark SQL 211
7.2.4 BlinkDB 213
7.2.5 MLBase/MLIib 213
7.2.6 GraphX 214
7.2.7 SparkR 215
7.2.8 Alluxio 216
7.3 小結 217
作者介紹
北京百里半網絡技術有限公司,武漢厚溥企業集團成員單位,致力於互聯網相關信息技術產品和服務的研究與開發,以及在線教育行業產品、服務的集成運營。公司擁有雄厚的具備學術、教育及產業背景的研發團隊。
公司為政府、高校、企業等提供極具競爭力的產品服務。在人工智能、大數據及IT運維、互聯網用戶行為分析、在線教育等領域推出了自有知識產權的獨特而領先的產品,為公司的持續發展奠定了堅實的基礎。
北京百里半網絡技術有限公司長期以來堅持並弘揚“以人為本,本在心;以厚為道,道在行。創造機遇,成就潛能。IT成就**潛能”的企業文化,努力成為值得客戶信賴的、具有獨特價值的優秀企業,並使之基業長青。
李平,男,1981年出生,工學博士,任教於黃岡師範學院數學與統計學院。主要研究方向為大數據技術與應用、數學建模等,有豐富的高校教學經驗與企業實踐經歷,發表科研論文十餘篇,主持參與省部級科研項目三項,多次指導本專科學生及研究生參加數據挖掘競賽、數學建模競賽並獲得獎項。