《Cloudera Hadoop大數據平台實戰指南》是清華大學出版社2019年出版的圖書,作者是宋立桓、陳建平。
基本介紹
- 書名:Cloudera Hadoop大數據平台實戰指南
- 作者:宋立桓,陳建平
- ISBN:9787302517535
圖書信息,內容簡介,目錄,
圖書信息
Cloudera Hadoop大數據平台實戰指南
作者:宋立桓、陳建平
定價:59元
印次:1-1
ISBN:9787302517535
出版日期:2019.02.01
印刷日期:2018.12.25
定價:59元
印次:1-1
ISBN:9787302517535
出版日期:2019.02.01
印刷日期:2018.12.25
內容簡介
本書分為18章,系統介紹Hadoop 生態系統大數據相關的知識,包括大數據概述、Cloudera Hadoop平台的安裝部署、HDFS分散式檔案系統、MapReduce計算框架、資源管理調度框架YARN 、Hive數據倉庫、數據遷移工具Sqoop、分散式資料庫HBase、ZooKeeper分散式協調服務、準實時分析系統Impala、日誌採集工具Flume、分散式訊息系統Kafka、ETL工具Kettle、Spark計算框架等內容,最後給出兩個綜合實操案例,以鞏固前面所學的知識點。
目錄
第1章大數據概述 1
1.1大數據時代的數據特點 1
1.2大數據時代的發展趨勢——數據將成為資產 2
1.3大數據時代處理數據理念的改變 3
1.3.1要全體不要抽樣 3
1.3.2要效率不要絕對精確 3
1.3.3要相關不要因果 4
1.4大數據時代的關鍵技術 5
1.5大數據時代的典型套用案例 5
1.5.1塔吉特超市精準行銷案例 5
1.5.2谷歌流感趨勢案例 6
1.5.3證券行業案例 6
1.5.4某運營商大數據平台案例 7
1.6Hadoop概述和介紹 7
1.6.1Hadoop發展歷史和套用現狀 7
1.6.2Hadoop的特點 8
1.6.3Hadoop的生態系統 8
第2章Cloudera大數據平台介紹 10
2.1Cloudera簡介 10
2.2Cloudera的Hadoop發行版CDH簡介 11
2.2.1CDH概述 11
2.2.2CDH和ApacheHadoop對比 12
2.3ClouderaManager大數據管理平台介紹 12
2.3.1ClouderaManager概述和整體架構 12
2.3.2ClouderaManager的基本核心功能 14
2.3.3ClouderaManager的高級功能 18
2.4Cloudera平台參考部署架構 19
2.4.1Cloudera的軟體體系結構 19
2.4.2群集硬體規劃配置 19
2.4.3Hadoop集群角色分配 21
2.4.4網路拓撲 23
第3章ClouderaManager及CDH離線安裝部署 25
3.1安裝前的準備工作 25
3.2ClouderaManager及CDH安裝 30
3.3添加其他大數據組件 35
第4章分散式檔案系統HDFS 37
4.1HDFS簡介 37
4.2HDFS體系結構 38
4.2.1HDFS架構概述 38
4.2.2HDFS命名空間管理 38
4.2.3NameNode 39
4.2.4SecondaryNameNode 39
4.3HDFS2.0新特性 41
4.3.1HDFSHA 41
4.3.2HDFSFederation 42
4.4HDFS操作常用shell命令 43
4.4.1HDFS目錄操作和檔案處理命令 43
4.4.2HDFS的Web管理界面 44
4.4.3dfsadmin管理維護命令 45
4.4.4namenode命令 47
4.5Java編程操作HDFS實踐 47
4.6HDFS的參數配置和規劃 49
4.7使用ClouderaManager啟用HDFSHA 51
4.7.1HDFSHA高可用配置 51
4.7.2HDFSHA高可用功能測試 54
第5章分散式計算框架MapReduce 57
5.1MapReduce概述 57
5.2MapReduce原理介紹 58
5.2.1工作流程概述 58
5.2.2MapReduce框架的優勢 58
5.2.3MapReduce執行過程 59
5.3MapReduce編程——單詞示例解析 59
5.4MapReduce套用開發 60
5.4.1配置MapReduce開發環境 60
5.4.2編寫和運行MapReduce程式 61
第6章資源管理調度框架YARN 65
6.1YARN產生背景 65
6.2YARN框架介紹 66
6.3YARN工作原理 67
6.4YARN框架和MapReduce1.0框架對比 69
6.5CDH集群的YARN參數調整 69
第7章數據倉庫Hive 72
7.1Hive簡介 72
7.2Hive體系架構和套用場景 73
7.2.1Hive體系架構 73
7.2.2Hive套用場景 74
7.3Hive的數據模型 75
7.3.1內部表 75
7.3.2外部表 75
7.3.3分區表 75
7.3.4桶 75
7.4Hive實戰操作 76
7.4.1Hive內部表操作 77
7.4.2Hive外部表操作 77
7.4.3Hive分區表操作 79
7.4.4桶表 80
7.4.5Hive套用實例WordCount 82
7.4.6UDF 84
7.5基於Hive的套用案例 86
第8章數據遷移工具Sqoop 88
8.1Sqoop概述 88
8.2Sqoop工作原理 89
8.3Sqoop版本和架構 91
8.4Sqoop實戰操作 93
第9章分散式資料庫HBase 100
9.1HBase概述 100
9.2HBase數據模型 101
9.3HBase生態地位和系統架構 101
9.3.1HBase的生態地位解析 101
9.3.2HBase系統架構 102
9.4HBase運行機制 103
9.4.1Region 103
9.4.2RegionServer工作原理 103
9.4.3Store工作原理 104
9.5HBase操作實戰 104
9.5.1HBase常用shell命令 104
9.5.2HBase編程實踐 107
9.5.3HBase參數調優的案例分享 109
第10章分散式協調服務ZooKeeper 111
10.1ZooKeeper的特點 111
10.2ZooKeeper的工作原理 112
10.2.1基本架構 112
10.2.2ZooKeeper實現分散式Leader節點選舉 112
10.2.3ZooKeeper配置檔案重點參數詳解 112
10.3ZooKeeper典型套用場景 115
10.3.1ZooKeeper實現HDFS的NameNode高可用HA 115
10.3.2ZooKeeper實現HBase的HMaster高可用 116
10.3.3ZooKeeper在Storm集群中的協調者作用 116
第11章準實時分析系統Impala 118
11.1Impala概述 118
11.2Impala組件構成 119
11.3Impala系統架構 119
11.4Impala的查詢處理流程 120
11.5Impala和Hive的關係和對比 121
11.6Impala安裝 122
11.7Impala入門實戰操作 124
第12章日誌採集工具Flume 128
12.1Flume概述 128
12.2Flume體系結構 129
12.2.1Flume外部結構 129
12.2.2Flume的Event事件概念 130
12.2.3Flume的Agent 130
12.3Flume安裝和集成 131
12.3.1搭建Flume環境 131
12.3.2Kafka與Flume集成 132
12.4Flume操作實例介紹 132
12.4.1例子概述 132
12.4.2第一步:配置數據流向 132
12.4.3第二步:啟動服務 133
12.4.4第三步:新建空數據檔案 133
12.4.5第四步:運行flume-ng命令 133
12.4.6第五步:運行命令腳本 134
12.4.7最後一步:測試結果 134
第13章分散式訊息系統Kafka 135
13.1Kafka架構設計 135
13.1.1基本架構 135
13.1.2基本概念 136
13.1.3Kafka主要特點 136
13.2Kafka原理解析 137
13.2.1主要的設計理念 137
13.2.2ZooKeeper在Kafka的作用 137
13.2.3Kafka在ZooKeeper的執行流程 137
13.3Kafka安裝和部署 138
13.3.1CDH5完美集成Kafka 138
13.3.2Kafka部署模式和配置 139
13.4Java操作Kafka訊息處理實例 141
13.4.1例子概述 141
13.4.2第一步:新建工程 141
13.4.3第二步:編寫代碼 141
13.4.4第三步:運行傳送數據程式 142
13.4.5最後一步:運行接收數據程式 143
13.5Kafka與HDFS的集成 143
13.5.1與HDFS集成介紹 143
13.5.2與HDFS集成實例 144
13.5.3第一步:編寫代碼——傳送數據 144
13.5.4第二步:編寫代碼——接收數據 145
13.5.5第三步:導出檔案 146
13.5.6第四步:上傳檔案 146
13.5.7第五步:運行程式——傳送數據 146
13.5.8第六步:運行程式——接收數據 147
13.5.9最後一步:查看執行結果 147
第14章大數據ETL工具Kettle 148
14.1ETL原理 148
14.1.1ETL簡介 148
14.1.2ETL在數據倉庫中的作用 149
14.2Kettle簡介 149
14.3Kettle完整案例實戰 150
14.3.1案例介紹 150
14.3.2最終效果 150
14.3.3表說明 150
14.3.4第一步:準備資料庫數據 151
14.3.5第二步:新建轉換 152
14.3.6第三步:新建資料庫連線 153
14.3.7第四步:拖動表輸入組件 153
14.3.8第五步:設定屬性——order表 154
14.3.9第六步:設定屬性——user表 155
14.3.10第七步:拖動流查詢並設定屬性——流查詢 155
14.3.11第八步:設定屬性——product表 156
14.3.12第九步:連線組件 156
14.3.13第十步:設定屬性——文本輸出 156
14.3.14最後一步:運行程式並查看結果 157
14.4Kettle調度和命令 158
14.4.1通過頁面調度 158
14.4.2通過腳本調度 159
14.5Kettle使用原則 161
第15章大規模數據處理計算引擎Spark 162
15.1Spark簡介 162
15.1.1使用背景 162
15.1.2Spark特點 163
15.2Spark架構設計 163
15.2.1Spark整體架構 163
15.2.2關鍵運算組件 164
15.2.3RDD介紹 164
15.2.4RDD操作 165
15.2.5RDD依賴關係 166
15.2.6RDD源碼詳解 167
15.2.7Scheduler 168
15.2.8Storage 168
15.2.9Shuffle 169
15.3Spark編程實例 170
15.3.1實例概述 170
15.3.2第一步:編輯數據檔案 170
15.3.3第二步:編寫程式 171
15.3.4第三步:上傳JAR檔案 171
15.3.5第四步:遠程執行程式 172
15.3.6最後一步:查看結果 172
15.4SparkSQL實戰 173
15.4.1例子概述 173
15.4.2第一步:編輯數據檔案 173
15.4.3第二步:編寫代碼 174
15.4.4第三步:上傳檔案到伺服器 174
15.4.5第四步:遠程執行程式 174
15.4.6最後一步:查看結果 175
15.5SparkStreaming實戰 175
15.5.1例子概述 175
15.5.2第一步:編寫代碼 175
15.5.3第二步:上傳檔案到伺服器 176
15.5.4第三步:遠程執行程式 177
15.5.5第四步:上傳數據 177
15.5.6最後一步:查看結果 177
15.6SparkMLlib實戰 178
15.6.1例子步驟 178
15.6.2第一步:編寫代碼 178
15.6.3第二步:上傳檔案到伺服器 179
15.6.4第三步:遠程執行程式 179
15.6.5第四步:上傳數據 180
15.6.6最後一步:查看結果 180
第16章大數據全棧式開發語言Python 182
16.1Python簡介 182
16.2Python安裝和配置 183
16.2.1Anaconda介紹 183
16.2.2Anaconda下載 183
16.2.3Anaconda安裝 184
16.2.4Anaconda包管理 185
16.2.5PyCharm下載 185
16.2.6PyCharm安裝 185
16.2.7PyCharm使用 187
16.3Python入門 190
16.3.1例子概述 190
16.3.2第一步:新建Python檔案 190
16.3.3第二步:設定字型大小 191
16.3.4第三步:編寫代碼 191
16.3.5第四步:執行程式 192
16.3.6最後一步:改變輸入 192
16.4Python數據科學庫pandas入門 193
16.4.1例子概述 193
16.4.2pandas包介紹 194
16.4.3第一步:打開JupyterNotebook 194
16.4.4第二步:導入包 194
16.4.5第三步:定義數據集 195
16.4.6第四步:過濾數據 195
16.4.7最後一步:獲取數據 196
16.5Python繪圖庫matplotlib入門 197
16.5.1例子概述 197
16.5.2第一步:新建一個Python檔案 197
16.5.3第二步:引入畫圖包 197
16.5.4第三步:組織數據 198
16.5.5第四步:畫圖 198
16.5.6最後一步:查看結果 199
第17章大數據實戰案例:實時數據流處理項目 200
17.1項目背景介紹 200
17.2業務需求分析 200
17.3項目技術架構 201
17.4項目技術組成 202
17.5項目實施步驟 202
17.5.1第一步:運用Kafka產生數據 202
17.5.2第二步:運用Spark接收數據 208
17.5.3第三步:安裝Redis軟體 211
17.5.4第四步:準備程式運行環境 214
17.5.5第五步:遠程執行Spark程式 216
17.5.6第六步:編寫Python實現可視化 218
17.5.7最後一步:執行Python程式 221
17.6項目總結 222
第18章大數據實戰案例:用戶日誌綜合分析項目 223
18.1項目背景介紹 223
18.2項目設計目的 223
18.3項目技術架構和組成 224
18.4項目實施步驟 225
18.4.1第一步:本地數據FTP到Linux環境 225
18.4.2第二步:Linux數據上傳到HDFS 225
18.4.3第三步:使用Hive訪問HDFS數據 226
18.4.4第四步:使用Kettle把數據導入HBase 228
18.4.5第五步:使用Sqoop把數據導入MySQL 234
18.4.6第六步:編寫Python程式實現可視化 236
18.4.7最後一步:執行Python程式 238