企業(yè)級大數(shù)據(jù)項目實戰(zhàn):用戶搜索行為分析系統(tǒng)從0到1
鏈接:https://pan.baidu.com/s/1SlMW5CJXG7CXO6pBAxXxpg?pwd=0om9?
提取碼:0om9

《企業(yè)級大數(shù)據(jù)項目實戰(zhàn):用戶搜索行為分析系統(tǒng)從0到1》基于真實業(yè)務場景,以項目導向為主線,從0到1全面介紹“企業(yè)級大數(shù)據(jù)用戶搜索行為分析系統(tǒng)”的搭建過程。全書共6章,第1章講解項目需求與架構設計,詳細闡述項目數(shù)據(jù)流與系統(tǒng)架構;第2章介紹大數(shù)據(jù)項目開發(fā)環(huán)境配置,手把手帶領讀者配置操作系統(tǒng)、Hadoop集群與相關工具,為后續(xù)項目實施打下基礎;第3~5章逐步實現(xiàn)項目需求,第3章講解“用戶行為數(shù)據(jù)采集模塊”的開發(fā),第4章講解“用戶行為數(shù)據(jù)離線分析模塊”的開發(fā),第5章講解“用戶行為數(shù)據(jù)實時分析模塊”的開發(fā),這3章采用項目導向的方式,讓讀者參與實際開發(fā)過程;第6章講解“數(shù)據(jù)可視化模塊”的開發(fā),并整合各模塊,測試數(shù)據(jù)流轉,完成項目的開發(fā)與部署。
《企業(yè)級大數(shù)據(jù)項目實戰(zhàn):用戶搜索行為分析系統(tǒng)從0到1》項目源自真實業(yè)務場景,目的是使讀者通過實際項目來理解理論知識并提高實踐能力。該書適合缺乏大數(shù)據(jù)項目經(jīng)驗的從業(yè)者閱讀,也適合作為高等院校大數(shù)據(jù)專業(yè)的教學用書。
作者簡介
張偉洋,從業(yè)近10年,大數(shù)據(jù)領域資深專家,擁有多年知名互聯(lián)網(wǎng)公司軟件研發(fā)經(jīng)驗,曾在互聯(lián)網(wǎng)旅游公司任軟件研發(fā)事業(yè)部經(jīng)理。目前從事大數(shù)據(jù)項目講師工作,先后多次為各大高校舉行大數(shù)據(jù)專題講座,對Hadoop及周邊大數(shù)據(jù)框架ZooKeeper、Hive、HBase、Storm、Spark、Flink等有著深入的研究。已出版《Flink大數(shù)據(jù)分析實戰(zhàn)》《Hadoop 3.x大數(shù)據(jù)實戰(zhàn)》等圖書。
第 1 章 項目需求描述 1
1.1 項目需求 1
1.2 項目數(shù)據(jù)流設計 2
1.3 項目架構設計 3
1.4 集群角色規(guī)劃 6
1.5 項目開發(fā)環(huán)境介紹 7
第 2 章 項目開發(fā)環(huán)境準備 9
2.1 VMware中安裝CentOS 7操作系統(tǒng) 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系統(tǒng)環(huán)境配置 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 配置集群各節(jié)點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 章 用戶行為數(shù)據(jù)采集模塊開發(fā) 46
3.1 用戶行為數(shù)據(jù)來源 47
3.1.1 構建測試數(shù)據(jù) 47
3.1.2 數(shù)據(jù)預處理 48
3.2 使用Flume采集用戶行為數(shù)據(jù) 48
3.2.1 Flume采集架構 49
3.2.2 Flume組件 51
3.2.3 Flume的安裝與測試 52
3.2.4 配置Flume多節(jié)點數(shù)據(jù)采集 55
3.3 使用Kafka中轉用戶行為數(shù)據(jù) 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數(shù)據(jù)實時寫入Kafka 67
3.4.1 數(shù)據(jù)流架構 67
3.4.2 配置centos03節(jié)點的Flume 67
3.4.3 啟動Flume 68
3.4.4 測試數(shù)據(jù)流轉 69
3.5 使用HBase存儲用戶行為數(shù)據(jù) 69
3.5.1 HBase集群的架構 70
3.5.2 HBase集群的搭建 73
3.5.3 HBase集群的啟動、查看與停止 75
3.5.4 測試HBase數(shù)據(jù)表操作 77
3.5.5 創(chuàng)建HBase用戶行為表結構 80
3.6 Flume數(shù)據(jù)實時寫入HBase 81
3.6.1 數(shù)據(jù)流架構 81
3.6.2 配置centos03節(jié)點的Flume 81
3.6.3 Flume寫入HBase原理分析 83
3.6.4 用戶行為日志匹配測試 84
3.6.5 啟動Flume 85
3.6.6 測試數(shù)據(jù)流轉 86
3.7 動手練習 87
第 4 章 用戶行為數(shù)據(jù)離線分析模塊開發(fā) 88
4.1 Hive安裝 88
4.1.1 Hive內(nèi)嵌模式安裝 89
4.1.2 Hive本地模式安裝 92
4.1.3 Hive遠程模式安裝 94
4.2 Hive數(shù)據(jù)庫操作 97
4.2.1 創(chuàng)建數(shù)據(jù)庫 97
4.2.2 修改數(shù)據(jù)庫 97
4.2.3 選擇數(shù)據(jù)庫 99
4.2.4 刪除數(shù)據(jù)庫 99
4.2.5 顯示數(shù)據(jù)庫 99
4.3 Hive表操作 100
4.3.1 內(nèi)部表操作 101
4.3.2 外部表操作 105
4.4 Hive離線分析用戶行為數(shù)據(jù) 107
4.4.1 創(chuàng)建用戶行為表并導入數(shù)據(jù) 107
4.4.2 統(tǒng)計前10個訪問量最高的用戶ID及訪問數(shù)量 108
4.4.3 分析鏈接排名與用戶點擊的相關性 109
4.4.4 分析一天中上網(wǎng)用戶最多的時間段 109
4.4.5 查詢用戶訪問最多的前10個網(wǎng)站域名 110
4.5 Hive集成HBase分析用戶行為數(shù)據(jù) 110
4.5.1 Hive集成HBase的原理 111
4.5.2 Hive集成HBase的配置 111
4.5.3 Hive分析HBase用戶行為表數(shù)據(jù) 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 執(zhí)行Spark圓周率程序 119
4.7.3 Spark Shell的啟動 120
4.8 Spark RDD算子運算 121
4.8.1 Spark RDD特性 121
4.8.2 創(chuàng)建RDD 123
4.8.3 轉換算子運算 124
4.8.4 行動算子運算 130
4.9 使用IntelliJ IDEA創(chuàng)建Scala項目 131
4.9.1 在IDEA中安裝Scala插件 132
4.9.2 創(chuàng)建Scala項目 133
4.10 Spark WordCount項目的創(chuàng)建與運行 134
4.10.1 創(chuàng)建Maven管理的Spark項目 135
4.10.2 編寫WordCount程序 137
4.10.3 提交WordCount程序到集群 138
4.10.4 查看Spark WebUI 139
4.10.5 查看程序執(zhí)行結果 141
4.11 Spark RDD讀寫HBase 141
4.11.1 讀取HBase表數(shù)據(jù) 142
4.11.2 寫入HBase表數(shù)據(jù) 144
4.12 使用Spark SQL實現(xiàn)單詞計數(shù) 151
4.12.1 Spark SQL編程特性 151
4.12.2 Spark SQL的基本使用 153
4.12.3 Spark SQL實現(xiàn)單詞計數(shù) 155
4.13 Spark SQL數(shù)據(jù)源操作 159
4.13.1 基本操作 159
4.13.2 Parquet文件 164
4.13.3 JSON數(shù)據(jù)集 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數(shù)據(jù)準備 175
4.15.2 讀取MySQL表數(shù)據(jù) 176
4.15.3 寫入結果數(shù)據(jù)到MySQL表 177
4.16 Spark SQL熱點搜索詞統(tǒng)計 179
4.16.1 開窗函數(shù)的使用 179
4.16.2 熱點搜索詞統(tǒng)計實現(xiàn) 181
4.17 Spark SQL搜索引擎每日UV統(tǒng)計 184
4.17.1 內(nèi)置函數(shù)的使用 184
4.17.2 搜索引擎每日UV統(tǒng)計實現(xiàn) 186
4.18 動手練習 187
第 5 章 用戶行為數(shù)據(jù)實時分析模塊開發(fā) 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數(shù)據(jù)源 193
5.2.1 基本數(shù)據(jù)源 193
5.2.2 高級數(shù)據(jù)源 195
5.2.3 自定義數(shù)據(jù)源 196
5.3 DStream操作 199
5.3.1 無狀態(tài)操作 199
5.3.2 狀態(tài)操作 200
5.3.3 窗口操作 202
5.3.4 輸出操作 203
5.3.5 緩存及持久化 205
5.3.6 檢查點 205
5.4 Spark Streaming按批次累加單詞數(shù)量 207
5.4.1 編寫應用程序 207
5.4.2 運行應用程序 209
5.4.3 查看Spark WebUI 210
5.5 Spark Streaming整合Kafka計算實時單詞數(shù)量 211
5.5.1 整合原理 212
5.5.2 編寫應用程序 213
5.5.3 運行應用程序 216
5.6 Structured Streaming快速實時單詞計數(shù) 217
5.7 Structured Streaming編程模型 220
5.8 Structured Streaming查詢輸出 221
5.8.1 輸出模式 222
5.8.2 外部存儲系統(tǒng)與檢查點 223
5.9 Structured Streaming窗口操作 224
5.9.1 事件時間 225
5.9.2 窗口聚合單詞計數(shù) 226
5.9.3 延遲數(shù)據(jù)和水印 229
5.10 Structured Streaming消費Kafka數(shù)據(jù)實現(xiàn)單詞計數(shù) 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
查看全部↓