Spark大數據分析實務

鄭浩森,張榮

  • 出版商: 人民郵電
  • 出版日期: 2024-07-01
  • 定價: $359
  • 售價: 8.5$305
  • 語言: 簡體中文
  • 頁數: 235
  • ISBN: 7115641404
  • ISBN-13: 9787115641403
  • 相關分類: Spark大數據 Big-dataData Science
  • 下單後立即進貨 (約4週~6週)

  • Spark大數據分析實務-preview-1
  • Spark大數據分析實務-preview-2
Spark大數據分析實務-preview-1

相關主題

商品描述

本書以Spark大數據分析的常用技術與真實項目相結合的方式,深入淺出地介紹Spark大數據分析的重要內容。全書共8個項目,內容包括廣告流量檢測違規識別流程分析、Spark大數據環境安裝搭建、基於Hive實現廣告流量檢測數據存儲、基於Spark SQL實現廣告流量檢測數據探索分析、基於Spark SQL實現廣告流量檢測數據預處理、基於Spark MLlib實現廣告流量檢測違規識別模型構建與評估、基於Spark開發環境實現廣告流量檢測違規識別,以及基於TipDM大數據挖掘建模平臺實現廣告流量檢測違規識別。本書項目2~項目7都包含知識測試和技能測試,通過練習和操作實踐,讀者可鞏固所學的內容。

本書可以作為大數據分析相關課程的教材,也可以作為數據分析愛好者的自學用書。

作者簡介

郑浩森,男,湛江幼儿师范专科学校,数学系主任,大数据技术专业负责人,广东省数学会理事、广东省工业与应用数学学会理事会理事、广东省现场统计学会理事、广东省数学会高职高专分会常务理事,研究方向为智能计算技术,担任大数据技术专业多门课程,主持或参与省部级课题多项,全国大学生数学建模(广东省分赛)“优秀指导教师”。 张良均,高级信息系统项目管理师,泰迪杯全国大学生数据挖掘竞赛(www.tipdm.org)的发起人。华南师范大学、广东工业大学兼职教授,广东省工业与应用数学学会理事。兼有大型高科技企业和高校的工作经历,主要从事大数据挖掘及其应用的策划、研发及咨询培训。全国计算机技术与软件专业技术资格(水平)考试继续教育和CDA数据分析师培训讲师。发表数据挖掘相关论文数二十余篇,已取得国家发明专利12项,主编图书《神经网络实用教程》、《数据挖掘:实用案例分析》、《MATLAB数据分析与挖掘实战》等9本畅销图书,主持并完成科技项目9项。获得SAS、SPSS数据挖掘认证及Hadoop开发工程师证书,具有电力、电信、银行、制造企业、电子商务和电子政务的项目经验和行业背景。

目錄大綱

項目1 廣告流量檢測違規識別流程分析 1

【教學目標】 1

【思維導圖】 1

【項目背景】 2

【項目目標】 2

【目標分析】 2

【知識準備】 2

一、認識大數據 2

(一)大數據的概念 3

(二)大數據的特徵 3

二、認識大數據分析 4

(一)大數據分析的概念 4

(二)大數據分析的流程 5

(三)大數據分析的工具 6

【項目實施】 7

任務一 瞭解正常的廣告投放流程 7

任務二 瞭解廣告流量違規現狀 8

任務三 瞭解廣告流量常見違規方式 9

任務四 瞭解識別虛假流量的常見維度 9

(一)基本屬性 9

(二)產品參與度 10

任務五 廣告流量檢測違規識別流程分析 11

【項目總結】 12

項目2 Spark大數據環境安裝搭建 13

【教學目標】 13

【思維導圖】 13

【項目背景】 14

【項目目標】 14

【目標分析】 14

【知識準備】 14

一、Hadoop大數據框架 14

(一)Hadoop簡介 14

(二)Hadoop的發展歷程 15

(三)Hadoop的特點 16

(四)Hadoop生態系統 16

(五)Hadoop的應用場景 17

二、Hive數據倉庫工具 18

(一)Hive簡介 18

(二)Hive的特點 18

(三)Hive的應用場景 19

(四)Hive與關系數據庫的區別 19

三、Spark分佈式計算框架 20

(一)Spark簡介 20

(二)Spark的發展歷程 21

(三)Spark的特點 21

(四)Spark生態系統 23

(五)Spark的應用場景 24

【項目實施】 24

任務一 安裝搭建Hadoop集群 24

(一)創建Linux虛擬機 26

(二)設置固定IP地址 31

(三)遠程連接虛擬機 33

(四)配置本地yum源及安裝常用軟件 36

(五)在Linux系統下安裝Java 40

(六)修改配置文件 41

(七)克隆虛擬機 45

(八)配置SSH免密登錄 48

(九)配置時間同步服務 49

(十)添加地址映射 52

(十一)啟動關閉集群 52

任務二 安裝搭建Hive 54

(一)安裝MySQL 54

(二)下載和安裝Hive 59

(三)修改Hive配置文件 59

(四)設置環境變量 60

(五)初始化元數據庫與啟動Hive 61

任務三 安裝搭建Spark集群 62

(一)解壓並配置Spark集群 62

(二)啟動Spark集群 63

(三)查看Spark監控服務 64

【項目總結】 65

【技能拓展】 65

【知識測試】 66

【技能測試】 67

測試 修改master虛擬機的IP地址 67

項目3 基於Hive實現廣告流量檢測數據存儲 69

【教學目標】 69

【思維導圖】 70

【項目背景】 70

【項目目標】 71

【目標分析】 71

【知識準備】 71

一、瞭解Hive中的數據類型 71

二、創建與管理數據庫 72

(一)創建數據庫語法格式 72

(二)刪除數據庫語法格式 73

(三)更改數據庫語法格式 74

(四)使用數據庫語法格式 74

三、創建表 74

(一)創建內部表 76

(二)創建外部表 77

(三)創建分區表 79

(四)創建桶表 79

四、修改表 80

五、導入數據至Hive表 83

(一)將文件系統中的數據導入Hive表 83

(二)通過查詢語句向表中插入數據 84

六、導出Hive表中的數據 87

(一)將Hive表中的數據導出至本地文件系統 87

(二)將Hive表中的數據導出至HDFS 87

【項目實施】 88

任務一 創建數據表 88

(一)數據字段說明 88

(二)創建Hive表 89

任務二 導入數據至Hive表 92

【項目總結】 93

【技能拓展】 93

【知識測試】 95

【技能測試】 96

測試 某連鎖咖啡店經營情況數據存儲 96

項目4 基於Spark SQL實現廣告流量檢測數據探索分析 98

【教學目標】 98

【思維導圖】 99

【項目背景】 99

【項目目標】 99

【目標分析】 100

【知識準備】 100

一、認識Spark SQL框架 100

(一)Spark SQL簡介 100

(二)配置Spark SQL CLI 102

(三)Spark SQL與Shell交互 103

二、創建DataFrame對象 103

(一)通過結構化數據文件創建DataFrame 104

(二)通過外部數據庫創建DataFrame 105

(三)通過RDD創建DataFrame 105

(四)通過Hive表創建DataFrame 106

三、查看DataFrame數據 107

(一)printSchema():輸出數據模式 108

(二)show():查看數據 108

(三)first()、head()、take()、takeAsList():獲取若乾行記錄 109

四、掌握DataFrame行列表查詢操作 110

(一)條件查詢 111

(二)查詢指定字段的數據信息 111

(三)查詢指定行數的數據 113

(四)排序查詢 114

(五)分組查詢 115

【項目實施】 116

任務一 讀取數據創建DataFrame對象 116

任務二 簡單查詢DataFrame數據 116

(一)查詢數據記錄數 116

(二)查詢數據缺失值 117

任務三 探索分析日流量特徵 119

任務四 探索分析IP地址的訪問次數特徵 120

任務五 探索分析虛假流量數據特徵 120

【項目總結】 124

【技能拓展】 124

【知識測試】 125

【技能測試】 126

測試1 使用DataFrame查詢操作分析員工基本信息 126

測試2 使用DataFrame查詢操作分析圖書信息 127

項目5 基於Spark SQL實現廣告流量檢測數據預處理 129

【教學目標】 129

【思維導圖】 130

【項目背景】 130

【項目目標】 130

【目標分析】 130

【知識準備】 131

一、掌握DataFrame行列表增、刪操作 131

(一)新增數據列 131

(二)刪除數據列 132

二、創建與使用用戶自定義函數 133

三、掌握DataFrame表聯合操作 135

(一)5種join()方法 135

(二)根據特定字段進行表聯合操作 136

(三)指定類型進行表聯合操作 137

(四)使用Column類型進行表聯合操作 137

四、掌握DataFrame行列表輸出操作 138

(一)保存為文件 138

(二)保存為持久化的表 139

【項目實施】 140

任務一 使用drop語句刪除數據 140

任務二 自定義函數構建關鍵特徵 140

(一)劃分時間區間 141

(二)構建關鍵特徵並保存至Hive表中 142

任務三 保存DataFrame數據至Hive表中 143

【項目總結】 144

【技能拓展】 144

【知識測試】 145

【技能測試】 146

測試 基於Hive的人力資源系統數據處理 146

項目6 基於Spark MLlib實現廣告流量檢測違規識別模型構建與評估 149

【教學目標】 149

【思維導圖】 150

【項目背景】 150

【項目目標】 151

【目標分析】 151

【知識準備】 151

一、認識Spark MLlib算法庫 151

(一)瞭解機器學習算法 152

(二)Spark MLlib簡介 154

二、掌握Spark MLlib中的算法與算法包 155

(一)數據類型 155

(二)基本統計 155

(三)管道 157

(四)特徵提取 158

(五)特徵處理 160

(六)回歸 163

(七)分類 165

(八)聚類 169

(九)關聯規則 170

(十)智能推薦 171

三、掌握Spark MLlib的評估器與模型評估 173

【項目實施】 175

任務一 數據歸一化 175

任務二 構建建模樣本 176

任務三 使用spark.ml.classification模塊構建分類模型 176

(一)使用邏輯回歸算法實現廣告流量檢測違規識別 176

(二)使用隨機森林算法實現廣告流量檢測違規識別 177

任務四 使用評估器實現模型評估 178

(一)模型評估 178

(二)模型評估結果對比 179

【項目總結】 179

【技能拓展】 179

【知識測試】 181

【技能測試】 182

測試 基於Spark MLlib實現新聞分類 182

項目7 基於Spark開發環境實現廣告流量檢測違規識別 184

【教學目標】 184

【思維導圖】 184

【項目背景】 185

【項目目標】 185

【目標分析】 185

【知識準備】 185

一、搭建Java開發環境 185

(一)安裝JDK 8 185

(二)設置環境變量 187

二、搭建Spark開發環境 189

(一)下載與安裝IntelliJ IDEA 189

(二)Scala插件安裝與使用 192

(三)在IntelliJ IDEA中配置Spark運行環境 196

(四)運行Spark程序 198

【項目實施】 206

任務一 開發環境下實現流量數據違規識別 206

(一)集群連接參數設置 206

(二)封裝代碼 207

(三)運行Spark程序 210

任務二 模型應用 210

【項目總結】 211

【技能拓展】 212

【知識測試】 214

【技能測試】 215

測試 農產品銷售分析 215

項目8 基於TipDM大數據挖掘建模平臺實現廣告流量檢測違規識別 217

【教學目標】 217

【思維導圖】 217

【項目背景】 218

【項目目標】 218

【目標分析】 218

【知識準備】 218

平臺簡介 218

(一)共享庫 219

(二)數據連接 219

(三)數據集 220

(四)我的工程 220

(五)個人組件 223

【項目實施】 224

任務 快速構建廣告流量檢測違規識別工程 224

(一)數據源配置 225

(二)數據處理 227

(三)模型構建與評估 232

【項目總結】 235

參考文獻 236