雲計算環境下Spark大數據處理技術與實踐
內容描述
本書圍繞因特網重大的技術革命:雲計算、大數據進行闡述。雲計算環境下大數據處理構建是國民經濟發展的信息基礎設施,發展自主的雲計算核心技術,擁有自己的信息基礎設施,當前正處於重要的機遇期。
本書重點在大數據與雲計算的融合,給出了大數據與雲計算的一些基本概念,並以Spark為開發工具,全面講述雲環境下的Spark大數據技術部署與典型案例算法實現,最後介紹了國內經典Spark大數據與雲計算融合的架構與算法。
本書適合雲計算環境下Spark大數據技術人員、Spark MLlib機器學習技術人員,也適合高等院校和培訓機構相關專業的師生教學參考。
海報:
目錄大綱
第1章大數據處理概述1
1.1大數據處理技術概述1
1.1.1什麼是大數據1
1.1.2大數據來源2
1.1.3大數據應用價值3
1.1.4大數據技術特點和研究內容4
1.1 .5大數據計算與系統5
1.2數據挖掘及其相關領域應用9
1.2.1數據挖掘概述9
1.2.2數據挖掘與機器學習11
1.2.3數據挖掘與數據庫11
1.2.4數據挖掘與統計學12
1.2.5數據挖掘與決策支持12
1.2.6數據挖掘與雲計算13
1.3大數據應用13
1.3.1大數據應用案例13
1.3.2大數據應用場景14
1.3.3大數據應用平台方案案例21
1.4並行計算簡介23
1.5 Hadoop介紹24
1.6本章小結26
第2章云計算時代27
2.1雲計算概述27
2.1.1雲計算概念27
2.1.2雲計算發展簡史28
2.1.3雲計算實現機制30
2.1. 4雲計算服務形式31
2.1.5雲計算時代的數據庫NoSQL 32
2.2雲計算發展動力源泉34
2.3雲計算技術分析34
2.3.1編程模式34
2.3.2海量數據云存儲技術37
2.3.3海量數據管理技術38
2.3.4虛擬化技術39
2.3.5分佈式計算41
2.3.6雲監測技術41
2.4並行計算與雲計算關係43
2.4.1並行計算與雲計算44
2.4.2 MapReduce 45
2.5雲計算發展優勢51
2.6向雲實現遷移53
2.7本章小結55
第3章大數據與雲計算關係56
3.1雲計算與大數據關係56
3.2大數據與雲計算的融合是認識世界的新工具57
3.3大數據隱私保護是大數據云快速發展和運用的重要前提59
3.3.1雲計算的安全隱私60
3.3.2大數據的安全隱私60
3.4大數據成就雲計算價值62
3.5數據向雲計算遷移63
3.6大數據清洗64
3.7雲計算時代的數據集成技術66
3.8雲推薦67
3.9本章小結68
第4章Spark大數據處理基礎69
4.1 Spark大數據處理技術69
4.1.1 Spark系統概述69
4.1.2 Spark生態系統BDAS(伯利克分析棧) 70
4.1.3 Spark的用武之地71
4.1.4 Spark大數據處理框架72
4.1.5 Spark運行模式分類及術語73
4.2 Spark 2.0.0安裝配置74
4.2.1在Linux集群上安裝與配置Spark 74
4.2.2 Spark Shell 81
4.2.3 Spark RDD 88
4.2.4 Shark(Hive on Spark大型的數據倉庫系統) 91
4.3 Spark配置92
4.3.1環境變量92
4.3 .2系統屬性93
4.3.3配置日誌95
4.3.4 Spark硬件配置95
4.4 Spark模式部署概述96
4.5 Spark Streaming實時計算框架98
4.6 Spark SQL查詢、DataFrames分佈式數據集和Datasets API 101
4.7 Spark起始點102
4.7.1 SparkSession 102
4.7.2 SQLContext 103
4.7.3創建DataFrame 104
4.7.4無類型的Dataset操作(aka DataFrame Operations) 105
4.7.5編程執行SQL查詢語句111
4.7.6創建Dataset 112
4.7.7和RDD互操作115
4.8 Spark數據源125
4.8.1通用加載/保存函數125
4.8.2 Parquet文件127
4.8.3 JSON數據集135
4.8.4 Hive表136
4.8.5用JDBC連接其他數據庫143
4.9 Spark性能調優144
4.10分佈式SQL引擎145
4.11本章小結146
第5章Spark MLlib機器學習算法實現147
5.1 Spark MLlib基礎147
5.1.1機器學習148
5.1.2機器學習分類148
5.1.3機器學習常見算法149
5.1.4 Spark MLlib機器學習庫152
5.1.5基於Spark常用的算法舉例分析156
5.2 Spark MLlib矩陣向量159
5.2.1 Breeze創建函數159
5.2.2 Breeze元素訪問161
5.2. 3 Breeze元素操作162
5.2.4 Breeze數值計算函數165
5.2.5 Breeze求和函數166
5.2.6 Breeze布爾函數167
5.2.7 Breeze線性代數函數168
5.2.8 Breeze取整函數169
5.2.9 Breeze三角函數170
5.2.10 BLAS向量運算170
5.3 Spark MLlib線性回歸算法171
5.3.1線性回歸算法理論基礎171
5.3.2線性回歸算法172
5.3.3 Spark MLlib Linear Regression源碼分析174
5.4 Spark MLlib邏輯回歸算法183
5.4.1邏輯回歸算法184
5.4.2 Spark MLlib Logistic Regression源碼分析186
5.5 Spark MLlib樸素貝葉斯分類算法199
5.5.1樸素貝葉斯分類算法200
5.5 .2樸素貝葉斯Spark MLlib源碼203
5.6 Spark MLlib決策樹算法217
5.6.1決策樹算法217
5.6.2決策樹實例220
5.7 Spark MLlib KMeans聚類算法227
5.7.1 KMeans聚類算法227
5.7.2 Spark MLlib KMeans源碼分析228
5.7.3 MLlib KMeans實例235
5.8 Spark MLlib FPGrowth關聯規則算法236
5.8.1基本概念236
5.8.2 FPGrowth算法237
5.8.3 Spark MLlib FPGrowth源碼分析241
5.9 Spark MLlib協同過濾推薦算法244
5.9.1協同過濾概念244
5.9.2相似度度量245
5.9.3協同過濾算法按照數據使用分類246
5.9.4 Spark MLlib協同過濾算法實現247
5.9.5 Spark MLlib電影評級推薦252
5.10 Spark MLlib神經網絡算法261
5.11本章小結264
第6章Spark大數據架構系統部署265
6.1大數據架構介紹265
6.2典型的商務使用場景266
6.2.1客戶行為分析266
6.2.2情緒分析267
6.2.3 CRM Onboarding 267
6.2.4預測268
6.3 Spark三種分佈式部署模式268
6.3.1 Standalone模式268
6.3.2 Spark On Mesos模式269
6.3.3 Spark On YARN模式269
6.4創建大數據架構270
6.4.1數據採集270
6.4.2數據接入271
6.4.3 Spark流式計算273
6.4.4數據輸出274
6.4.5日誌攝取274
6.4.6機器學習277
6.4.7處理引擎277
6.5 Spark單個機器集群部署278
6.6本章小結280
第7章Spark大數據處理案例分析282
7.1 Spark on Amazon EMR 282
7.1.1 Amazon EMR 282
7.1.2配置Spark 283
7.1.3以交互方式或批處理模式使用Spark 284
7.1.4使用Spark創建集群285
7.1.5訪問Spark外殼286
7.1.6添加Spark 287
7.2 Spark在AWSKrux的應用289
7.3 Spark在商業網站中的應用290
7.4 Spark在Yahoo!的應用291
7.5 Spark在Amazon EC2上運行292
7.6淘寶應用Spark on YARN架構296
7.7騰訊雲大數據解決方案297
7.8雅虎開源TensorFlowOnSpark 298
7.9阿里雲E-MapReduce 301
7.10 SequoiaDB+Spark打造一體化大數據平台304
7.11本章小結305
第8章大數據發展展望306
8.1大數據未來發展趨勢306
8.2大數據給人類帶來的認知衝擊307
8.3未來大數據研究突破的技術問題308
8.4本章小結309
附錄Spark MLlib神經網絡算法312
參考文獻338
作者介紹
作者:鄧立國
鄧立國,東北大學計算機應用博士畢業。2005年開始在瀋陽師範大學軟件學院、教育技術學院任教,主要研究方向:數據挖掘、知識工程、大數據處理、雲計算、分佈式計算等。以第一作者發表學術論文30多篇(26篇EI),主編教材1部,主持科研課題6項,經費10餘萬元,多次獲得校級科研優秀獎,作為九三社員提出的智慧城市提案被市政府採納,研究成果被教育廳等單位採用。