Hadoop + Spark 大數據分析實戰

遲殿委

  • Hadoop + Spark 大數據分析實戰-preview-1
  • Hadoop + Spark 大數據分析實戰-preview-2
  • Hadoop + Spark 大數據分析實戰-preview-3
Hadoop + Spark 大數據分析實戰-preview-1

買這商品的人也買了...

商品描述

本書是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