《企業級大數據項目實戰:用戶搜尋行為分析系統從0到1》是2023年6月1日清華大學出版社出版的圖書,作者:張偉洋。
基本介紹
- 中文名:企業級大數據項目實戰:用戶搜尋行為分析系統從0到1
- 作者:張偉洋
- 出版時間:2023年6月1日
- 出版社:清華大學出版社
- ISBN:9787302630906
- 定價:89 元
- 印次:1-1
- 印刷日期:2023.06.07
內容簡介,圖書目錄,
內容簡介
《企業級大數據項目實戰:用戶搜尋行為分析系統從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