YL12874 9787302490739 9787302479673
為降低讀者學習大數據技術的門檻,書中提供瞭豐富的上機實踐操作和範例程序詳解,展示瞭如何在單機Windows係統上通過Virtual Box虛擬機安裝多機Linux虛擬機,如何建立Hadoop集群,再建立Spark開發環境。書中介紹搭建的上機實踐平颱並不限製於單颱實體計算機。對於有條件的公司和學校,參照書中介紹的搭建過程,同樣可以實現將自己的平颱搭建在多颱實體計算機上,以便更加接近於大數據和機器學習真實的運行環境。
本書非常適閤於學習大數據基礎知識的初學者閱讀,更適閤正在學習大數據理論和技術的人員作為上機實踐用的教材。
第1章 Python Spark機器學習與Hadoop大數據 1
1.1 機器學習的介紹 2
1.2 Spark的介紹 5
1.3 Spark數據處理 RDD、DataFrame、Spark SQL 7
1.4 使用Python開發 Spark機器學習與大數據應用 8
1.5 Python Spark 機器學習 9
1.6 Spark ML Pipeline機器學習流程介紹 10
1.7 Spark 2.0的介紹 12
1.8 大數據定義 13
1.9 Hadoop 簡介 14
1.10 Hadoop HDFS分布式文件係統 14
1.11 Hadoop MapReduce的介紹 17
1.12 結論 18
第2章 VirtualBox虛擬機軟件的安裝 19
2.1 VirtualBox的下載和安裝 20
2.2 設置VirtualBox存儲文件夾 23
2.3 在VirtualBox創建虛擬機 25
2.4 結論 29
第3章 Ubuntu Linux 操作係統的安裝 30
3.1 Ubuntu Linux 操作係統的安裝 31
3.2 在Virtual設置Ubuntu虛擬光盤文件 33
3.3 開始安裝Ubuntu 35
3.4 啓動Ubuntu 40
3.5 安裝增強功能 41
3.6 設置默認輸入法 45
3.7 設置“終端”程序 48
3.8 設置“終端”程序為白底黑字 49
3.9 設置共享剪貼闆 50
3.10 設置最佳下載服務器 52
3.11 結論 56
第4章 Hadoop Single Node Cluster的安裝 57
4.1 安裝JDK 58
4.2 設置SSH無密碼登錄 61
4.3 下載安裝Hadoop 64
4.4 設置Hadoop環境變量 67
4.5 修改Hadoop配置設置文件 69
4.6 創建並格式化HDFS目錄 73
4.7 啓動Hadoop 74
4.8 打開Hadoop Resource-Manager Web界麵 76
4.9 NameNode HDFS Web界麵 78
4.10 結論 79
第5章 Hadoop Multi Node Cluster的安裝 80
5.1 把Single Node Cluster復製到data1 83
5.2 設置VirtualBox網卡 84
5.3 設置data1服務器 87
5.4 復製data1服務器到data2、data3、master 94
5.5 設置data2服務器 97
5.6 設置data3服務器 100
5.7 設置master服務器 102
5.8 master連接到data1、data2、data3 創建HDFS目錄 107
5.9 創建並格式化NameNode HDFS目錄 110
5.10 啓動Hadoop Multi Node Cluster 112
5.11 打開Hadoop ResourceManager Web界麵 114
5.12 打開NameNode Web界麵 115
5.13 停止Hadoop Multi Node Cluster 116
5.14 結論 116
第 6 章 Hadoop HDFS命令 117
6.1 啓動Hadoop Multi-Node Cluster 118
6.2 創建與查看HDFS目錄 120
6.3 從本地計算機復製文件到HDFS 122
6.4 將HDFS上的文件復製到本地計算機 127
6.5 復製與刪除HDFS文件 129
6.6 在Hadoop HDFS Web用戶界麵瀏覽HDFS 131
6.7 結論 134
第7章 Hadoop MapReduce 135
7.1 簡單介紹WordCount.java 136
7.2 編輯WordCount.java 137
7.3 編譯WordCount.java 141
7.4 創建測試文本文件 143
7.5 運行WordCount.java 145
7.6 查看運行結果 146
7.7 結論 147
第8章 Python Spark的介紹與安裝 148
8.1 Scala的介紹與安裝 150
8.2 安裝Spark 153
8.3 啓動pyspark交互式界麵 156
8.4 設置pyspark顯示信息 157
8.5 創建測試用的文本文件 159
8.6 本地運行pyspark程序 161
8.7 在Hadoop YARN運行pyspark 163
8.8 構建Spark Standalone Cluster運行環境 165
8.9 在Spark Standalone運行pyspark 171
8.10 Spark Web UI界麵 173
8.11 結論 175
第9章 在 IPython Notebook 運行 Python Spark 程序 176
9.1 安裝Anaconda 177
9.2 在IPython Notebook使用Spark 180
9.3 打開IPython Notebook筆記本 184
9.4 插入程序單元格 185
9.5 加入注釋與設置程序代碼說明標題 186
9.6 關閉IPython Notebook 188
9.7 使用IPython Notebook在Hadoop YARN-client模式運行 189
9.8 使用IPython Notebook在Spark Stand Alone模式運行 192
9.9 整理在不同的模式運行IPython Notebook的命令 194
9.9.1 在 Local 啓動 IPython Notebook 195
9.9.2 在Hadoop YARN-client 模式啓動 IPython Notebook 195
9.9.3 在Spark Stand Alone 模式啓動 IPython Notebook 195
9.10 結論 196
第10章 Python Spark RDD 197
10.1 RDD的特性 198
10.2 開啓IPython Notebook 199
10.3 基本RDD“轉換”運算 201
10.4 多個RDD“轉換”運算 206
10.5 基本“動作”運算 208
10.6 RDD Key-Value 基本“轉換”運算 209
10.7 多個RDD Key-Value“轉換”運算 212
10.8 Key-Value“動作”運算 215
10.9 Broadcast 廣播變量 217
10.10 accumulator纍加器 220
10.11 RDD Persistence持久化 221
10.12 使用Spark創建WordCount 223
10.13 Spark WordCount詳細解說 226
10.14 結論 228
第11章 Python Spark的集成開發環境 229
11.1 下載與安裝eclipse Scala IDE 232
11.2 安裝PyDev 235
11.3 設置字符串替代變量 240
11.4 PyDev 設置 Python 鏈接庫 243
11.5 PyDev設置anaconda2鏈接庫路徑 245
11.6 PyDev設置Spark Python鏈接庫 247
11.7 PyDev設置環境變量 248
11.8 新建PyDev項目 251
11.9 加入WordCount.py程序 253
11.10 輸入WordCount.py程序 254
11.11 創建測試文件並上傳至HDFS目錄 257
11.12 使用spark-submit執行WordCount程序 259
11.13 在Hadoop YARN-client上運行WordCount程序 261
11.14 在Spark Standalone Cluster上運行WordCount程序 264
11.15 在eclipse外部工具運行Python Spark程序 267
11.16 在eclipse運行spark-submit YARN-client 273
11.17 在eclipse運行spark-submit Standalone 277
11.18 結論 280
第12章 Python Spark創建推薦引擎 281
12.1 推薦算法介紹 282
12.2 “推薦引擎”大數據分析使用場景 282
12.3 ALS推薦算法的介紹 283
12.4 如何搜索數據 285
12.5 啓動IPython Notebook 289
12.6 如何準備數據 290
12.7 如何訓練模型 294
12.8 如何使用模型進行推薦 295
12.9 顯示推薦的電影名稱 297
12.10 創建Recommend項目 299
12.11 運行RecommendTrain.py 推薦程序代碼 302
12.12 創建Recommend.py推薦程序代碼 304
12.13 在eclipse運行Recommend.py 307
12.14 結論 310
第13章 Python Spark MLlib決策樹二元分類 311
13.1 決策樹介紹 312
13.2 “StumbleUpon Evergreen”大數據問題 313
13.2.1 Kaggle網站介紹 313
13.2.2 “StumbleUpon Evergreen”大數據問題場景分析 313
13.3 決策樹二元分類機器學習 314
13.4 如何搜集數據 315
13.4.1 StumbleUpon數據內容 315
13.4.2 下載 StumbleUpon 數據 316
13.4.3 用LibreOffice Calc 電子錶格查看train.tsv 319
13.4.4 復製到項目目錄 322
13.5 使用IPython Notebook示範 323
13.6 如何進行數據準備 324
13.6.1 導入並轉換數據 324
13.6.2 提取 feature 特徵字段 327
13.6.3 提取分類特徵字段 328
13.6.4 提取數值特徵字段 331
13.6.5 返迴特徵字段 331
13.6.6 提取 label 標簽字段 331
13.6.7 建立訓練評估所需的數據 332
13.6.8 以隨機方式將數據分為 3 部分並返迴 333
13.6.9 編寫 PrepareData(sc) 函數 333
13.7 如何訓練模型 334
13.8 如何使用模型進行預測 335
13.9 如何評估模型的準確率 338
13.9.1 使用 AUC 評估二元分類模型 338
13.9.2 計算 AUC 339
13.10 模型的訓練參數如何影響準確率 341
13.10.1 建立 trainEvaluateModel 341
13.10.2 評估impurity參數 343
13.10.3 訓練評估的結果以圖錶顯示 344
13.10.4 編寫 evalParameter 347
13.10.5 使用 evalParameter 評估 maxDepth 參數 347
13.10.6 使用 evalParameter 評估 maxBins 參數 348
13.11 如何找齣準確率最高的參數組閤 349
13.12 如何確認是否過度訓練 352
13.13 編寫RunDecisionTreeBinary.py程序 352
13.14 開始輸入RunDecisionTreeBinary.py程序 353
13.15 運行RunDecisionTreeBinary.py 355
13.15.1 執行參數評估 355
13.15.2 所有參數訓練評估找齣最好的參數組閤 355
13.15.3 運行 RunDecisionTreeBinary.py 不要輸入參數 357
13.16 查看DecisionTree的分類規則 358
13.17 結論 360
第14章 Python Spark MLlib 邏輯迴歸二元分類 361
14.1 邏輯迴歸分析介紹 362
14.2 RunLogisticRegression WithSGDBinary.py程序說明 363
14.3 運行RunLogisticRegression WithSGDBinary.py進行參數評估 367
14.4 找齣最佳參數組閤 370
14.5 修改程序使用參數進行預測 370
14.6 結論 372
第15章 Python Spark MLlib支持嚮量機SVM二元分類 373
15.1 支持嚮量機SVM算法的基本概念 374
15.2 運行SVMWithSGD.py進行參數評估 376
15.3 運行SVMWithSGD.py 訓練評估參數並找齣最佳參數組閤 378
15.4 運行SVMWithSGD.py 使用最佳參數進行預測 379
15.5 結論 381
第16章 Python Spark MLlib樸素貝葉斯二元分類 382
16.1 樸素貝葉斯分析原理的介紹 383
16.2 RunNaiveBayesBinary.py程序說明 384
16.3 運行NaiveBayes.py進行參數評估 386
16.4 運行訓練評估並找齣最好的參數組閤 387
16.5 修改RunNaiveBayesBinary.py 直接使用最佳參數進行預測 388
16.6 結論 390
第17章 Python Spark MLlib決策樹多元分類 391
17.1 “森林覆蓋植被”大數據問題分析場景 392
17.2 UCI Covertype數據集介紹 393
17.3 下載與查看數據 394
17.4 修改PrepareData() 數據準備 396
17.5 修改trainModel 訓練模型程序 398
17.6 使用訓練完成的模型預測數據 399
17.7 運行RunDecisionTreeMulti.py 進行參數評估 401
17.8 運行RunDecisionTreeMulti.py 訓練評估參數並找齣最好的參數組閤 403
17.9 運行RunDecisionTreeMulti.py 不進行訓練評估 404
17.10 結論 406
第18章 Python Spark MLlib決策樹迴歸分析 407
18.1 Bike Sharing大數據問題分析 408
18.2 Bike Sharing數據集 409
18.3 下載與查看數據 409
18.4 修改 PrepareData() 數據準備 412
18.5 修改DecisionTree.trainRegressor訓練模型 415
18.6 以 RMSE 評估模型準確率 416
18.7 訓練評估找齣最好的參數組閤 417
18.8 使用訓練完成的模型預測數據 417
18.9 運行RunDecisionTreeMulti.py進行參數評估 419
18.10 運行RunDecisionTreeMulti.py訓練評估參數並找齣最好的參數組閤 421
18.11 運行RunDecisionTreeMulti.py 不進行訓練評估 422
18.12 結論 424
第19章 Python Spark SQL、DataFrame、RDD數據統計與可視化 425
19.1 RDD、DataFrame、Spark SQL 比較 426
19.2 創建RDD、DataFrame與Spark SQL 427
19.2.1 在 local 模式運行 IPython Notebook 427
19.2.2 創建RDD 427
19.2.3 創建DataFrame 428
19.2.4 設置 IPython Notebook 字體 430
19.2.5 為DataFrame 創建彆名 431
19.2.6 開始使用 Spark SQL 431
19.3 SELECT顯示部分字段 434
19.3.1 使用 RDD 選取顯示部分字段 434
19.3.2 使用 DataFrames 選取顯示字段 434
19.3.3 使用 Spark SQL 選取顯示字段 435
19.4 增加計算字段 436
19.4.1 使用 RDD 增加計算字段 436
19.4.2 使用 DataFrames 增加計算字段 436
19.4.3 使用 Spark SQL 增加計算字段 437
19.5 篩選數據 438
19.5.1 使用 RDD 篩選數據 438
19.5.2 使用 DataFrames 篩選數據 438
19.5.3 使用 Spark SQL 篩選數據 439
19.6 按單個字段給數據排序 439
19.6.1 RDD 按單個字段給數據排序 439
19.6.2 使用 Spark SQL排序 440
19.6.3 使用 DataFrames按升序給數據排序 441
19.6.4 使用 DataFrames按降序給數據排序 442
19.7 按多個字段給數據排序 442
19.7.1 RDD 按多個字段給數據排序 442
19.7.2 Spark SQL 按多個字段給數據排序 443
19.7.3 DataFrames 按多個字段給數據排序 443
19.8 顯示不重復的數據 444
19.8.1 RDD 顯示不重復的數據 444
19.8.2 Spark SQL 顯示不重復的數據 445
19.8.3 Dataframes顯示不重復的數據 445
19.9 分組統計數據 446
19.9.1 RDD 分組統計數據 446
19.9.2 Spark SQL分組統計數據 447
19.9.3 Dataframes分組統計數據 448
19.10 Join 聯接數據 450
19.10.1 創建 ZipCode 450
19.10.2 創建 zipcode_tab 452
19.10.3 Spark SQL 聯接 zipcode_table 數據錶 454
19.10.4 DataFrame user_df 聯接 zipcode_df 455
19.11 使用 Pandas DataFrames 繪圖 457
19.11.1 按照不同的州統計並以直方圖顯示 457
19.11.2 按照不同的職業統計人數並以圓餅圖顯示 459
19.12 結論 461
第20章 Spark ML Pipeline 機器學習流程二元分類 462
20.1 數據準備 464
20.1.1 在 local 模式執行 IPython Notebook 464
20.1.2 編寫 DataFrames UDF 用戶自定義函數 466
20.1.3 將數據分成 train_df 與 test_df 468
20.2 機器學習pipeline流程的組件 468
20.2.1 StringIndexer 468
20.2.2 OneHotEncoder 470
20.2.3 VectorAssembler 472
20.2.4 使用 DecisionTreeClassi?er 二元分類 474
20.3 建立機器學習pipeline流程 475
20.4 使用pipeline進行數據處理與訓練 476
20.5 使用pipelineModel 進行預測 477
20.6 評估模型的準確率 478
20.7 使用TrainValidation進行訓練驗證找齣最佳模型 479
20.8 使用crossValidation交叉驗證找齣最佳模型 481
20.9 使用隨機森林 RandomForestClassi?er分類器 483
20.10 結論 485
第21章 Spark ML Pipeline 機器學習流程多元分類 486
21.1 數據準備 487
21.1.1 讀取文本文件 488
21.1.2 創建 DataFrame 489
21.1.3 轉換為 double 490
21.2 建立機器學習pipeline流程 492
21.3 使用dt_pipeline進行數據處理與訓練 493
21.4 使用pipelineModel 進行預測 493
21.5 評估模型的準確率 495
21.4 使用TrainValidation進行訓練驗證找齣最佳模型 496
21.7 結論 498
第22章 Spark ML Pipeline 機器學習流程迴歸分析 499
22.1 數據準備 501
22.1.1 在local 模式執行 IPython Notebook 501
22.1.2 將數據分成 train_df 與 test_df 504
22.2 建立機器學習pipeline流程 504
22.3 使用dt_pipeline進行數據處理與訓練 506
22.4 使用pipelineModel 進行預測 506
22.5 評估模型的準確率 507
22.6 使用TrainValidation進行訓練驗證找齣最佳模型 508
22.7 使用crossValidation進行交叉驗證找齣最佳模型 510
22.8 使用GBT Regression 511
22.9 結論 513
附錄A 本書範例程序下載與安裝說明 514
A.1 下載範例程序 515
A.2 打開本書IPython Notebook範例程序 516
A.3 打開 eclipse PythonProject 範例程序 518
全書共12章,大緻分為3個部分,第1部分(第1~7章)講解Hadoop的原生態組件,包括Hadoop、ZooKeeper、HBase、Hive環境搭建與安裝,以及介紹MapReduce、HDFS、ZooKeeper、HBase、Hive原理和Apache版本環境下實戰操作。第2部分(第8~11章)講解Spark的原生態組件,包括Spark Core、Spark SQL、Spark Streaming、DataFrame,以及介紹Scala、Spark API、Spark SQL、Spark Streaming、DataFrame原理和CDH版本環境下實戰操作,其中Flume和Kafka屬於Apache*開源項目也放在本篇講解。第3部分(第12章)講解兩個大數據項目,包絡網頁日誌離綫項目和實時項目,在CDH版本環境下通過這兩個項目將Hadoop和Spark原生態組件進行整閤,一步步帶領讀者學習和實戰操作。
本書適閤想要快速掌握大數據技術的初學者,也適閤作為高等院校和培訓機構相關專業師生的教學參考書和實驗用書。
第1章 Hadoop概述 1
1.1 Hadoop簡介 1
1.2 Hadoop版本和生態係統 3
1.3 MapReduce簡介 7
1.4 HDFS簡介 8
1.5 Eclipse+Java開發環境搭建 10
1.5.1 Java安裝 10
1.5.2 Maven安裝 11
1.5.3 Eclipse安裝和配置 12
1.5.4 Eclipse創建Maven項目 16
1.5.5 Eclipse其餘配置 19
1.6 小結 21
第2章 Hadoop集群搭建 22
2.1 虛擬機簡介 22
2.2 虛擬機配置 24
2.3 Linux係統設置 31
2.4 Apache版本Hadoop集群搭建 36
2.5 CDH版本Hadoop集群搭建 44
2.5.1 安裝前期準備 44
2.5.2 Cloudera Manager安裝 45
2.5.3 CDH安裝 46
2.6 小結 55
第3章 Hadoop基礎與原理 56
3.1 MapReduce原理介紹 56
3.1.1 MapReduce的框架介紹 56
3.1.2 MapReduce的執行步驟 58
3.2 HDFS原理介紹 59
3.2.1 HDFS是什麼 59
3.2.2 HDFS架構介紹 59
3.3 HDFS實戰 62
3.3.1 HDFS客戶端的操作 62
3.3.2 Java操作HDFS 65
3.4 YARN原理介紹 69
3.5 小結 71
第4章 ZooKeeper實戰 72
4.1 ZooKeeper原理介紹 72
4.1.1 ZooKeeper基本概念 72
4.1.2 ZooKeeper工作原理 73
4.1.3 ZooKeeper工作流程 76
4.2 ZooKeeper安裝 78
4.3 ZooKeeper實戰 80
4.3.1 ZooKeeper客戶端的操作 80
4.3.2 Java操作ZooKeeper 81
4.3.3 Scala操作ZooKeeper 85
4.4 小結 87
第5章 MapReduce實戰 88
5.1 前期準備 88
5.2 查看YARN上的任務 95
5.3 加載配置文件 95
5.4 MapReduce實戰 96
5.5 小結 121
第6章 HBase實戰 122
6.1 HBase簡介及架構 122
6.2 HBase安裝 127
6.3 HBase實戰 129
6.3.1 HBase客戶端的操作 129
6.3.2 Java操作HBase 132
6.3.3 Scala操作HBase 136
6.4 小結 140
第7章 Hive實戰 141
7.1 Hive介紹和架構 141
7.2 Hive數據類型和錶結構 143
7.3 Hive分區、桶與傾斜 144
7.4 Hive安裝 146
7.5 Hive實戰 148
7.5.1 Hive客戶端的操作 148
7.5.2 Hive常用命令 154
7.5.3 Java操作Hive 155
7.6 小結 161
第8章 Scala實戰 162
8.1 Scala簡介與安裝 162
8.2 IntelliJ IDEA開發環境搭建 164
8.2.1 IntelliJ IDEA簡介 164
8.2.2 IntelliJ IDEA安裝 164
8.2.3 軟件配置 166
8.3 IntelliJ IDEA建立Maven項目 171
8.4 基礎語法 176
8.5 函數 179
8.6 控製語句 181
8.7 函數式編程 184
8.8 模式匹配 189
8.9 類和對象 191
8.10 Scala 異常處理 194
8.11 Trait(特徵) 195
8.12 Scala文件I/O 196
8.13 作業 198
8.13.1 九九乘法錶 198
8.13.2 冒泡排序 199
8.13.3 設計模式Command 200
8.13.4 集閤對稱判斷 202
8.13.5 綜閤題 204
8.14 小結 206
第9章 Flume實戰 207
9.1 Flume概述 207
9.2 Flume的結構 208
9.3 Flume安裝 211
9.4 Flume實戰 212
9.5 小結 214
第10章 Kafka實戰 215
10.1 Kafka概述 215
10.1.1 簡介 215
10.1.2 使用場景 217
10.2 Kafka設計原理 218
10.3 Kafka主要配置 222
10.4 Kafka客戶端操作 224
10.5 Java操作Kafka 226
10.5.1 生産者 226
10.5.2 消費者 228
10.6 Flume連接Kafka 229
10.7 小結 233
第11章 Spark實戰 234
11.1 Spark概述 234
11.2 Spark基本概念 234
11.3 Spark算子實戰及功能描述 238
11.3.1 Value型Transformation算子 238
11.3.2 Key-Value型Transformation算子 242
11.3.3 Actions算子 245
11.4 Spark Streaming實戰 248
11.5 Spark SQL和DataFrame實戰 253
11.6 小結 266
第12章 大數據網站日誌分析項目 267
12.1 項目介紹 267
12.2 網站離綫項目 267
12.2.1 業務框架圖 267
12.2.2 子服務“趨勢分析”詳解 268
12.2.3 錶格的設計 272
12.2.4 提前準備 274
12.2.5 項目步驟 287
12.3 網站實時項目 297
12.3.1 業務框架圖 297
12.3.2 子服務“當前在綫”詳解 297
12.3.3 錶格的設計 302
12.3.4 提前準備 304
12.3.5 項目步驟 327
12.4 小結 337
評分
評分
評分
評分
評分
評分
評分
評分
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有