企業級大數據項目實戰:用戶搜索行為分析系統從0到1

張偉洋

  • 出版商: 清華大學
  • 出版日期: 2023-06-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • 頁數: 264
  • 裝訂: 平裝
  • ISBN: 7302630909
  • ISBN-13: 9787302630906
  • 相關分類: 大數據 Big-data
  • 立即出貨 (庫存 < 3)

  • 企業級大數據項目實戰:用戶搜索行為分析系統從0到1-preview-1
  • 企業級大數據項目實戰:用戶搜索行為分析系統從0到1-preview-2
  • 企業級大數據項目實戰:用戶搜索行為分析系統從0到1-preview-3
企業級大數據項目實戰:用戶搜索行為分析系統從0到1-preview-1

商品描述

《企業級大數據項目實戰:用戶搜索行為分析系統從0到1》基於真實業務場景,以項目導向為主線,從0到1全面介紹“企業級大數據用戶搜索行為分析系統”的搭建過程。全書共6章,第1章講解項目需求與架構設計,詳細闡述項目數據流與系統架構;第2章介紹大數據項目開發環境配置,手把手帶領讀者配置操作系統、Hadoop集群與相關工具,為後續項目實施打下基礎;第3~5章逐步實現項目需求,第3章講解“用戶行為數據採集模塊”的開發,第4章講解“用戶行為數據離線分析模塊”的開發,第5章講解“用戶行為數據實時分析模塊”的開發,這3章採用項目導向的方式,讓讀者參與實際開發過程;第6章講解“數據可視化模塊”的開發,並整合各模塊,測試數據流轉,完成項目的開發與部署。 《企業級大數據項目實戰:用戶搜索行為分析系統從0到1》項目源自真實業務場景,目的是使讀者通過實際項目來理解理論知識並提高實踐能力。本書適合缺乏大數據項目經驗的從業者閱讀,也適合作為高等院校大數據專業的教學用書。

目錄大綱

目    錄

 

第 1 章  項目需求描述 1

1.1  項目需求 1

1.2  項目數據流設計 2

1.3  項目架構設計 3

1.4  集群角色規劃 6

1.5  項目開發環境介紹 7

第 2 章  項目開發環境準備 9

2.1  VMware中安裝CentOS 7操作系統 9

2.1.1  下載CentOS 7鏡像文件 10

2.1.2  VMware新建虛擬機 12

2.1.3  安裝CentOS 7 16

2.1.4  啟動CentOS 7 21

2.1.5  打開Shell終端 22

2.2  Linux系統環境配置 22

2.2.1  新建用戶 23

2.2.2  修改用戶權限 23

2.2.3  關閉防火牆 24

2.2.4  設置固定IP 24

2.2.5  修改主機名 28

2.2.6  新建資源目錄 28

2.3  安裝JDK 29

2.4  克隆虛擬機 30

2.5  配置主機IP映射 33

2.6  配置集群各節點SSH無密鑰登錄 34

2.6.1  SSH無密鑰登錄原理 34

2.6.2  SSH無密鑰登錄操作步驟 35

2.7  搭建Hadoop分佈式集群 36

2.7.1  搭建思路 37

2.7.2  搭建Hadoop集群 37

2.8  動手練習 45

第 3 章  用戶行為數據採集模塊開發 46

3.1  用戶行為數據來源 47

3.1.1  構建測試數據 47

3.1.2  數據預處理 48

3.2  使用Flume採集用戶行為數據 48

3.2.1  Flume採集架構 49

3.2.2  Flume組件 51

3.2.3  Flume的安裝與測試 52

3.2.4  配置Flume多節點數據採集 55

3.3  使用Kafka中轉用戶行為數據 57

3.3.1  ZooKeeper集群的搭建 58

3.3.2  ZooKeeper集群的啟動與連接 60

3.3.3  Kafka集群的搭建 61

3.3.4  Kafka集群的啟動與查看 63

3.3.5  Kafka主題操作 64

3.4  Flume數據實時寫入Kafka 67

3.4.1  數據流架構 67

3.4.2  配置centos03節點的Flume 67

3.4.3  啟動Flume 68

3.4.4  測試數據流轉 69

3.5  使用HBase存儲用戶行為數據 69

3.5.1  HBase集群的架構 70

3.5.2  HBase集群的搭建 73

 

3.5.3  HBase集群的啟動、查看與停止 75

3.5.4  測試HBase數據表操作 77

3.5.5  創建HBase用戶行為表結構 80

3.6  Flume數據實時寫入HBase 81

3.6.1  數據流架構 81

3.6.2  配置centos03節點的Flume 81

3.6.3  Flume寫入HBase原理分析 83

3.6.4  用戶行為日誌匹配測試 84

3.6.5  啟動Flume 85

3.6.6  測試數據流轉 86

3.7  動手練習 87

第 4 章  用戶行為數據離線分析模塊開發 88

4.1  Hive安裝 88

4.1.1  Hive內嵌模式安裝 89

4.1.2  Hive本地模式安裝 92

4.1.3  Hive遠程模式安裝 94

4.2  Hive數據庫操作 97

4.2.1  創建數據庫 97

4.2.2  修改數據庫 97

4.2.3  選擇數據庫 99

4.2.4  刪除數據庫 99

4.2.5  顯示數據庫 99

4.3  Hive表操作 100

4.3.1  內部表操作 101

4.3.2  外部表操作 105

4.4  Hive離線分析用戶行為數據 107

4.4.1  創建用戶行為表並導入數據 107

4.4.2  統計前10個訪問量最高的用戶ID及訪問數量 108

4.4.3  分析鏈接排名與用戶點擊的相關性 109

4.4.4  分析一天中上網用戶最多的時間段 109

4.4.5  查詢用戶訪問最多的前10個網站域名 110

4.5  Hive集成HBase分析用戶行為數據 110

4.5.1  Hive集成HBase的原理 111

4.5.2  Hive集成HBase的配置 111

4.5.3  Hive分析HBase用戶行為表數據 112

4.6  Spark集群的搭建 114

4.6.1  應用提交方式 114

4.6.2  搭建集群 116

4.7  Spark應用程序的提交 118

4.7.1  spark-submit工具的使用 118

4.7.2  執行Spark圓周率程序 119

4.7.3  Spark Shell的啟動 120

4.8  Spark RDD算子運算 121

4.8.1  Spark RDD特性 121

4.8.2  創建RDD 123

4.8.3  轉換算子運算 124

4.8.4  行動算子運算 130

4.9  使用IntelliJ IDEA創建Scala項目 131

4.9.1  在IDEA中安裝Scala插件 132

4.9.2  創建Scala項目 133

4.10  Spark WordCount項目的創建與運行 134

4.10.1  創建Maven管理的Spark項目 135

4.10.2  編寫WordCount程序 137

4.10.3  提交WordCount程序到集群 138

4.10.4  查看Spark WebUI 139

4.10.5  查看程序執行結果 141

4.11  Spark RDD讀寫HBase 141

4.11.1  讀取HBase表數據 142

4.11.2  寫入HBase表數據 144

4.12  使用Spark SQL實現單詞計數 151

4.12.1  Spark SQL編程特性 151

4.12.2  Spark SQL的基本使用 153

4.12.3  Spark SQL實現單詞計數 155

4.13  Spark SQL數據源操作 159

4.13.1  基本操作 159

4.13.2  Parquet文件 164

4.13.3  JSON數據集 166

4.13.4  Hive表 167

4.13.5  JDBC 169

4.14  Spark SQL與Hive整合分析 170

4.14.1  整合Hive 171

4.14.2  操作Hive 173

4.15  Spark SQL整合MySQL存儲分析結果 175

4.15.1  MySQL數據準備 175

4.15.2  讀取MySQL表數據 176

4.15.3  寫入結果數據到MySQL表 177

4.16  Spark SQL熱點搜索詞統計 179

4.16.1  開窗函數的使用 179

4.16.2  熱點搜索詞統計實現 181

4.17  Spark SQL搜索引擎每日UV統計 184

4.17.1  內置函數的使用 184

4.17.2  搜索引擎每日UV統計實現 186

4.18  動手練習 187

第 5 章  用戶行為數據實時分析模塊開發 189

5.1  Spark Streaming程序編寫 189

5.1.1  Spark Streaming工作原理 189

5.1.2  輸入DStream和Receiver 191

5.1.3  第一個Spark Streaming程序 191

5.2  Spark Streaming數據源 193

5.2.1  基本數據源 193

5.2.2  高級數據源 195

5.2.3  自定義數據源 196

5.3  DStream操作 199

5.3.1  無狀態操作 199

5.3.2  狀態操作 200

5.3.3  窗口操作 202

5.3.4  輸出操作 203

5.3.5  緩存及持久化 205

5.3.6  檢查點 205

5.4  Spark Streaming按批次累加單詞數量 207

5.4.1  編寫應用程序 207

5.4.2  運行應用程序 209

5.4.3  查看Spark WebUI 210

5.5  Spark Streaming整合Kafka計算實時單詞數量 211

5.5.1  整合原理 212

5.5.2  編寫應用程序 213

5.5.3  運行應用程序 216

5.6  Structured Streaming快速實時單詞計數 217

5.7  Structured Streaming編程模型 220

5.8  Structured Streaming查詢輸出 221

5.8.1  輸出模式 222

5.8.2  外部存儲系統與檢查點 223

5.9  Structured Streaming窗口操作 224

5.9.1  事件時間 225

5.9.2  窗口聚合單詞計數 226

5.9.3  延遲數據和水印 229

5.10  Structured Streaming消費Kafka數據實現單詞計數 232

5.11  Structured Streaming輸出計算結果到MySQL 235

5.11.1  MySQL建庫、建表 235

5.11.2  Structured Streaming應用程序的編寫 236

5.11.3  打包與提交Structured Streaming應用程序 239

5.12  動手練習 242

第 6 章  數據可視化模塊開發 244

6.1  IDEA搭建基於SpringBoot的Web項目 244

6.1.1  創建Maven項目 245

 

6.1.2  項目集成SpringBoot 246

6.2  WebSocket數據實時推送 249

6.2.1  WebSocket推送原理 249

6.2.2  項目集成WebSocket 249

6.2.3  創建JDBC查詢工具類 250

6.2.4  創建WebSocket服務處理類 251

6.3  使用ECharts進行前端視圖展示 253

6.4  多框架整合實時分析用戶行為日誌數據流 258

6.4.1  項目實時處理工作流程 258

6.4.2  模擬實時產生用戶行為數據 259

6.4.3  集群數據流轉 261

6.5  動手練習 264