Hadoop + Spark 大數據巨量分析與機器學習整合開發實戰

林大貴

  • Hadoop + Spark 大數據巨量分析與機器學習整合開發實戰-preview-1
  • Hadoop + Spark 大數據巨量分析與機器學習整合開發實戰-preview-2
  • Hadoop + Spark 大數據巨量分析與機器學習整合開發實戰-preview-3
Hadoop + Spark 大數據巨量分析與機器學習整合開發實戰-preview-1

商品描述

《Hadoop + Spark大數據巨量分析與機器學習整合開發實戰》從淺顯易懂的“大數據和機器學習”原理介紹和說明入手,講述大數據和機器學習的基本概念,如:分類、分析、訓練、建模、預測、機器學習(推薦引擎)、機器學習(二元分類)、機器學習(多元分類)、機器學習(回歸分析)和數據可視化應用。為降低讀者學習大數據技術的門檻,書中提供了豐富的上機實踐操作和範例程序詳解,展示瞭如何在單台Windows系統上通過Virtual Box虛擬機安裝多台Linux虛擬機,如何建立Hadoop集群,再建立Spark開發環境。書中介紹搭建的上機實踐平臺並不限制於單台實體電腦。對於有條件的公司和學校,參照書中介紹的搭建過程,同樣可以將實踐平臺搭建在多台實體電腦上,以便更加接近於大數據和機器學習真實的運行環境。 《Hadoop + Spark大數據巨量分析與機器學習整合開發實戰》非常適合於學習大數據基礎知識的初學者閱讀,更適合正在學習大數據理論和技術的人員作為上機實踐用的教材。

作者簡介

林大貴,作者從事IT產業多年,包括系統設計、網站開發等諸多領域,具備豐富實戰開發經驗,多版多部具有影響力的作品。

目錄大綱

第1章大數據與機器學習 1
1.1 大數據定義 2
1.2Hadoop簡介 2
1.3Hadoop HDFS分佈式文件系統 3
1.4Hadoop MapReduce的介紹 5
1.5Spark的介紹 6
1.6 機器學習的介紹 8

第2章VirtualBox虛擬機軟件的安裝11
2.1VirtualBox的下載和安裝12
2.2 設置VirtualBox語言版本16
2.3 設置VirtualBox存儲文件夾17
2.4 在VirtualBox創建虛擬機18

第3章Ubuntu Linux操作系統的安裝23

3.1 下載安裝Ubuntu的光盤文件24
3.2 在Virtual設置Ubuntu虛擬光盤文件26
3.3 開始安裝Ubuntu 28
3.4 啟動Ubuntu 33
3.5 安裝增強功能34
3.6 設置默認輸入法38
3.7 設置“終端”程序40
3.8 設置“終端”程序為白底黑字42
3.9 設置共享剪貼板43

第4章Hadoop Single Node Cluster的安裝46
4.1 安裝K 47
4.2 設置SSH無密碼登錄50
4.3 下載安裝Hadoop 53
4.4 設置Hadoop環境變量56
4.5 修改Hadoop配置設置文件58
4.6 創建並格式化HDFS目錄62
4.7 啟動Hadoop 63
4.8 打開HadoopResourceManager Web界面66
4.9NameNode HDFS Web界面67

第5章Hadoop Multi Node Cluster的安裝69
5.1 把Single NodeCluster複製到data1 71
5.2 設置VirtualBox網卡73
5.3 設置data1服務器76
5.4 複製data1服務器到data2、data3、master 84
5.5 設置data2、data3服務器87
5.6 設置master服務器91
5.7master連接到data1、data2、data3創建HDFS目錄94
5.8 創建並格式化NameNodeHDFS目錄98
5.9 啟動HadoopMulti Node Cluster 99
5.10打開Hadoop ResourceManager Web界面102
5.11打開NameNode Web界面103

第6章Hadoop HDFS命令104
6.1 啟動HadoopMulti-Node Cluster 105
6.2 創建與查看HDFS目錄107
6.3 從本地計算機複製文件到HDFS109
6.4 將HDFS上的文件複製到本地計算機114
6.5 複製與刪除HDFS文件116
6.6 在Hadoop HDFSWeb用戶界面瀏覽HDFS 118

第7章Hadoop MapReduce 122
7.1 介紹wordCount.Java123
7.2 編輯wordCount.Java124
7.3 編譯wordCount.Java127
7.4 創建測試文本文件129
7.5 運行wordCount.Java130
7.6 查看運行結果131
7.7Hadoop MapReduce的缺點132

第8章Spark的安裝與介紹133
8.1Spark的Cluster模式架構圖134
8.2Scala的介紹與安裝135
8.3 安裝Spark 138
8.4 啟動spark-shell交互界面141
8.5 設置spark-shell顯示信息142
8.6 啟動Hadoop 144
8.7 本地運行spark-shell程序145
8.8 在Hadoop YARN運行spark-shell147
8.9 構建SparkStandalone Cluster執行環境149
8.10在Spark Standalone運行spark-shell 155

第9章Spark RDD 159
9.1 RDD的特性160
9.2 基本RDD“轉換”運算161
9.3 多個RDD“轉換”運算167
9.4 基本“動作”運算169
9.5RDD Key-Value 基本“轉換”運算171
9.6 多個RDDKey-Value“轉換”運算175
9.7Key-Value“動作”運算178
9.8Broadcast廣播變量181
9.9accumulator累加器184
9.10RDD Persistence持久化186
9.11使用Spark創建WordCount 188
9.12Spark WordCount詳細解說191

第10章Spark的集成開發環境195
10.1下載與安裝eclipse Scala IDE 197
10.2下載項目所需要的Library 201
10.3啟動eclipse 205
10.4創建新的Spark項目206
10.5設置項目鏈接庫210
10.6新建scala程序211
10.7創建WordCount測試文本文件213
10.8創建WordCount.scala 213
10.9編譯WordCount.scala程序215
10.10運行WordCount.scala程序217
10.11導出jar文件220
10.12spark-submit的詳細介紹223
10.13在本地local模式運行WordCount程序224
10.14在Hadoop yarn-client運行WordCount程序226
10.15在Spark Standalone Cluster上運行WordCount程序230
10.16本書範例程序的安裝說明231

第11章創建推薦引擎236
11.1推薦算法介紹237
11.2“推薦引擎”大數據分析使用場景237
11.3ALS推薦算法的介紹238
11.4ml-100k推薦數據的下載與介紹240
11.5使用spark-shell導入ml-100k數據242
11.6查看導入的數據244
11.7使用ALS.train進行訓練247
11.8使用模型進行推薦250
11.9顯示推薦的電影名稱252
11.10創建Remend項目255
11.11Remend.scala程序代碼257
11.12創建PrepareData數據準備259
11.13remend推薦程序代碼261
11.14運行Remend.scala 263
11.15創建AlsEvaluation.scala調校推薦引擎參數266
11.16創建PrepareData數據準備269
11.17進行訓練評估270
11.18運行AlsEvaluation 279
11.19修改Remend.scala為參數組合281

第12章StumbleUpon數據集282
12.1StumbleUpon數據集簡介283
12.2下載StumbleUpon數據285
12.3用LibreOffice Calc 電子表格查看train.tsv 288
12.4二元分類算法291

第13章決策樹二元分類292
13.1決策樹的介紹293
13.2創建Classification項目294
13.3開始輸入RunDecisionTreeBinary.scala程序296
13.4數據準備階段298
13.5訓練評估階段303
13.6預測階段308
13.7運行RunDecisionTreeBinary.scala 311
13.6修改RunDecisionTreeBinary調校訓練參數313
13.7運行RunDecisionTreeBinary進行參數調校320
13.8運行RunDecisionTreeBinary不進行參數調校323

第14章邏輯回歸二元分類326
14.1邏輯回歸分析介紹327
14.2RunLogisticRegression WithSGDBinary.scala程序說明328
14.3運行RunLogisticRegression WithSGDBinary.scala進行參數調校331
14.4運行RunLogisticRegression WithSGDBinary.scala不進行參數調校335

第15章支持向量機SVM二元分類337
15.1支持向量機SVM算法的基本概念338
15.2RunSVMWithSGDBinary.scala 程序說明338
15.3運行SVMWithSGD.scala進行參數調校341
15.4運行SVMWithSGD.scala不進行參數調校344

第16章樸素貝葉斯二元分類346
16.1樸素貝葉斯分析原理的介紹347
16.2RunNaiveBayesBinary.scala程序說明348
16.3運行NaiveBayes.scala進行參數調校351
16.4運行NaiveBayes.scala不進行參數調校353

第17章決策樹多元分類355
17.1“森林覆蓋植被”大數據問題分析場景356
17.2UCI Covertype數據集介紹357
17.3下載與查看數據359
17.4創建RunDecisionTreeMulti.scala 361
17.5修改RunDecisionTreeMulti.scala程序362
17.6運行RunDecisionTreeMulti.scala進行參數調校367
17.7運行RunDecisionTreeMulti.scala不進行參數調校371

第18章決策樹回歸分析373
18.1Bike Sharing大數據問題分析374
18.2Bike Sharing數據集375
18.3下載與查看數據375
18.4創建RunDecisionTreeRegression.scala 378
18.5修改RunDecisionTreeRegression.scala 380
18.6運行RunDecisionTreeRegression. scala進行參數調校389
18.7運行RunDecisionTreeRegression. scala不進行參數調校392

第19章使用ApacheZeppelin 數據可視化394
19.1Apache Zeppelin簡介395
19.2安裝Apache Zeppelin 395
19.3啟動Apache Zeppelin 399
19.4創建新的Notebook 402
19.5使用Zeppelin運行Shell 命令403
19.6創建臨時表UserTable 406
19.7使用Zeppelin運行年齡統計Spark SQL 407
19.8使用Zeppelin運行性別統計Spark SQL 409
19.9按照職業統計410
19.10Spark SQL加入文本框輸入參數412
19.11加入選項參數414
19.12同時顯示多個統計字段416
19.13設置工具欄419
19.14設置段落標題420
19.15設置Paragraph段落的寬度422
19.16設置顯示模式423