Hadoop+Spark大數據分析實戰

Hadoop+Spark大數據分析實戰

作者: 遲殿委
出版社: 清華大學
出版在: 2022-07-01
ISBN-13: 9787302608844
ISBN-10: 7302608849





內容描述


本書是Hadoop + Spark大數據分析技術入門書,基於Hadoop和Spark兩大框架體系的3.2版本,以通俗易懂的方式介紹Hadoop + Spark原生態組件的原理、集群搭建、實戰操作,以及整個Hadoop生態系統主流的大數據分析技術。
本書共分14章。第1章講解Hadoop框架及新版本特性,並詳細講解大數據分析環境的搭建工作,包括Linux操作系統的安裝、SSH工具使用和配置等;第2章講解Hadoop偽分佈式的安裝和開發體驗,使讀者熟悉Hadoop大數據開發兩大核心組件,即HDFS和MapReduce;第3~12章講解Hadoop生態系統各框架HDFS、MapReduce、輸入輸出、Hadoop集群配置、高可用集群、HBase、Hive、數據實時處理系統Flume,以及Spark框架數據處理、機器學習等實戰技術,並通過實際案例加深對各個框架的理解與應用;第13~14章分別通過影評分析、旅游酒店評價分析實戰項目來貫穿大數據分析的完整流程。
本書可以作為大數據分析初學者的入門指導書,也可以作為大數據開發人員的參考手冊,同時也適合作為高等院校大數據相關專業的教材或教學參考書。


目錄大綱


目    錄
第1章  大數據與Hadoop 1
1.1  什麽是大數據 1
1.2  大數據的來源 2
1.3  如何處理大數據 3
1.3.1  數據分析與挖掘 3
1.3.2  基於雲平臺的分佈式處理 4
1.4  Hadoop 3新特性 6
1.5  虛擬機與Linux操作系統的安裝 7
1.5.1  VirtualBox虛擬機的安裝 7
1.5.2  Linux操作系統的安裝 8
1.6  SSH工具與使用 14
1.7  Linux統一設置 16
1.8  本章小結 17
第2章  Hadoop偽分佈式集群 18
2.1  安裝獨立運行的Hadoop 19
2.2  Hadoop偽分佈式環境準備 21
2.3  Hadoop偽分佈式安裝 25
2.4  HDFS操作命令 31
2.5  Java項目訪問HDFS 33
2.6  winutils 38
2.7  快速MapReduce程序示例 39
2.8  本章小結 42
第3章  HDFS分佈式文件系統 43
3.1  HDFS的體系結構 43
3.2  NameNode的工作 44
3.3  SecondaryNameNode 49
3.4  DataNode 50
3.5  HDFS的命令 51
3.6  RPC遠程過程調用 52
3.7  本章小結 53
第4章  分佈式運算框架MapReduce 55
4.1  MapReduce的運算過程 55
4.2  WordCount示例 57
4.3  自定義Writable 60
4.4  Partitioner分區編程 63
4.5  自定義排序 65
4.6  Combiner編程 67
4.7  默認Mapper和默認Reducer 68
4.8  倒排索引 69
4.9  Shuffle 73
4.9.1  Spill過程 73
4.9.2  Sort過程 74
4.9.3  Merge過程 75
4.10  本章小結 76
第5章  Hadoop輸入輸出 78
5.1  自定義文件輸入流 79
5.1.1  自定義LineTextInputFormat 79
5.1.2  自定義ExcelInputFormat類 82
5.1.3  DBInputFormat 86
5.1.4  自定義輸出流 89
5.2  順序文件SequenceFile的讀寫 90
5.2.1  生成一個順序文件 91
5.2.2  讀取順序文件 91
5.2.3  獲取Key/Value類型 92
5.2.4  使用SequenceFileInputFormat讀取數據 93
5.3  本章小結 95
第6章  Hadoop分佈式集群配置 96
6.1  Hadoop集群 96
6.2  本章小結 100
第7章  Hadoop高可用集群搭建 101
7.1  ZooKeeper簡介 101
7.2  ZooKeeper集群安裝 104
7.3  znode節點類型 105
7.4  觀察節點 106
7.5  配置Hadoop高可靠集群 106
7.6  用Java代碼操作集群 115
7.7  本章小結 117
第8章  數據倉庫Hive 118
8.1  Hive簡介 118
8.2  Hive3的安裝配置 120
8.2.1  使用Derby數據庫保存元數據 120
8.2.2  使用MySQL數據庫保存元數據 121
8.3  Hive命令 124
8.4  Hive內部表 127
8.5  Hive外部表 128
8.6  Hive表分區 128
8.6.1  分區的技術細節 128
8.6.2  分區示例 131
8.7  查詢示例匯總 133
8.8  Hive函數 134
8.8.1  關系運算符號 135
8.8.2  更多函數 136
8.8.3  使用Hive函數實現WordCount 138
8.9  本章小結 140
第9章  HBase數據庫 141
9.1  HBase的特點 141
9.1.1  HBase的高並發和實時處理數據 142
9.1.2  HBase的數據模型 142
9.2  HBase的安裝 144
9.2.1  HBase的單節點安裝 145
9.2.2  HBase的偽分佈式安裝 147
9.2.3  Java客戶端代碼 149
9.2.4  其他Java操作代碼 152
9.3  HBase集群安裝 155
9.4  HBase Shell操作 159
9.4.1  DDL操作 160
9.4.2  DML操作 162
9.5  本章小結 166
第10章  Flume數據採集 167
10.1  Flume簡介 167
10.1.1  Flume原理 167
10.1.2  Flume的一些核心概念 168
10.2  Flume的安裝與配置 169
10.3  快速示例 169
10.4  在ZooKeeper中保存Flume的配置文件 171
10.5  Flume的更多Source 174
10.5.1  avro source 174
10.5.2  thrift source和thrift sink 178
10.5.3  exec source 181
10.5.4  spool source 182
10.5.5  HDFS sinks 183
10.6  本章小結 184
第11章  Spark框架搭建及應用 185
11.1  安裝Spark 186
11.1.1  本地模式 186
11.1.2  偽分佈式安裝 188
11.1.3  集群安裝 191
11.1.4  Spark on YARN 193
11.2  使用Scala開發Spark應用 196
11.2.1  安裝Scala 196
11.2.2  開發Spark程序 197
11.3  spark-submit 200
11.3.1  使用spark-submit提交 200
11.3.2  spark-submit參數說明 201
11.4  DataFrame 203
11.4.1  DataFrame概述 203
11.4.2  DataFrame基礎應用 205
11.5  Spark SQL 210
11.5.1  快速示例 211
11.5.2  Read和Write 215
11.6  Spark Streaming 216
11.6.1  快速示例 217
11.6.2  DStream 220
11.6.3  FileStream 220
11.6.4  窗口函數 222
11.6.5  updateStateByKey 223
11.7  共享變量 225
11.7.1  廣播變量 225
11.7.2  累加器 227
11.8  本章小結 227
第12章  Spark機器學習 228
12.1  機器學習 228
12.1.1  機器學習概述 228
12.1.2  Spark ML 230
12.2  典型機器學習流程介紹 230
12.2.1  提出問題 230
12.2.2  假設函數 231
12.2.3  代價函數 232
12.2.4  訓練模型確定參數 233
12.3  經典算法模型實戰 233
12.3.1  聚類算法實戰 233
12.3.2  回歸算法實戰 236
12.3.3  協同過濾算法實戰 239

第13章  影評分析項目實戰 245
13.1  項目內容 245
13.2  項目需求及分析 246
13.3  詳細實現 250
13.3.1  搭建項目環境 250
13.3.2  編寫爬蟲類 253
13.3.3  編寫分詞類 255
13.3.4  第一個job的Map階段實現 259
13.3.5  一個job的Reduce階段實現 259
13.3.6  第二個job的Map階段實現 260
13.3.7  第二個job的自定義排序類階段的實現 261
13.3.8  第二個job的自定義分區階段實現 261
13.3.9  第二個job的Reduce階段實現 262
13.3.10  Run程序主類實現 262
13.3.11  編寫詞雲類 263
13.3.12  效果測試 264
第14章  旅游酒店評價分析項目實戰 266
14.1  項目介紹 266
14.2  項目需求及分析 267
14.2.1  數據集需求 267
14.2.2  功能需求 267
14.3  詳細實現 268
14.3.1  數據集上傳到HDFS 269
14.3.2  Spark數據清洗 271
14.3.3  構建Hive數據倉庫表 274
14.3.4  Hive表數據導出到MySQL 280
14.3.5  數據可視化開發 282




相關書籍

MATLAB金融風險管理師FRM(一級)

作者 薑偉生 塗升

2022-07-01

How to Lead in Data Science

作者 Chong Jike Chang Yue Cathy

2022-07-01

Power BI 電商數據分析與商業智能, 2/e

作者 零一 聶健華

2022-07-01