Hadoop + Spark + Python 大數據處理從算法到實戰
內容描述
2020年3月,國家提出要加快5G網絡,數據中心等新型基礎設施(簡稱新基建)進度。其中,信息化新型基礎設施包含了雲計算、大數據、人工智能、區塊鏈、5G等內容。本書圍繞新基建的雲計算、機器學習及人工智能展開講述大數據處理分析與實戰應用,分為如下五個部分。第1部分:介紹了大數據的概念與特點,以及幾個典型的產業應用場景。通過這些案例簡介,期望讀者能夠瞭解大數據的前景,以及作為科技工作者肩負的使命。第2部分:介紹了目前雲計算中的一個重要研究與應用領域----容器雲。這一部分包含容器技術Docker與容器編排工具Kubernetes。Docker能封裝操作系統、應用程序及其執行環境。對於整個大數據來說,Docker是Hadoop、Hbase、Spark這些組件的基礎運行平臺。一般大數據運行平臺規模都比較宏大,因此這里使用了Kubernetes來對容器進行管理。這樣,就構建了基於容器雲的大數據平臺。第3部分:是大數據分析的基礎,也是大數據分析技術的重點。首先介紹了Hadoop的框架原理、調度原理、MapReduce原理與編程模型、環境搭建。由於Hadoop的HDFS存在一定的讀寫局限,因此引入了Hbase以支持實時讀寫。同樣HDFS的數據也存在一定的分析局限,因此引入了Hive來構建數據倉庫,以提高分析效率。在本篇最後,還引入了Spark這樣的高性能框架,進一步提高了大數據處理能力。第4部分:是機器學習相關算法的應用篇。機器學習是一個復雜的過程,涉及到統計學、微積分、信息論等內容。考慮到學習門檻,在這一環節,首先簡單介紹了相關算法的原理,然後介紹相對容易使用的機器學習工具Sklearn,使得讀者建立起對機器學習開發流程的基本認知,之後介紹應用於大數據環境下Spark的機器學習庫。相信通過對這一部分內容的學習,讀者已經掌握了基本的機器學習問題的處理。第5部分:通過第一個實例介紹瞭如何使用Spark機器學習庫中的協同過濾算法,來實現基於Web的推薦系統;通過第二個實例介紹瞭如何使用OpenCV與TensorFlow構建捲積神經網絡來實現基於Web的人臉識別。 本書內容精練、重點突出、實例豐富,是廣大數據分析工作者的參考書,同時也非常適合大、中專院校師生學習閱讀,還可作為高等院校統計分析及相關專業的教材。
目錄大綱
第1篇入門篇
第1章初識大數據002
1.2如何處理與分析大數據004
1.3大數據的產業應用008
第2篇準備篇
第2章萬丈高樓平地起,使用Docker作地基011
2.1初識Docker 011
2.2搭建Docker運行環境016
2.3 Docker操作鏡像029
2.4 Docker操作容器036
2.5 Docker私有倉庫045
2.6 Docker Compose編排容器046
2.7 Portainer可視化工具053
2.8實訓:構建Nginx鏡像並創建容器055
第3章團隊合作好,使用Kubernetes來協調057
3.1初識Kubernetes057
3.2搭建集群063
3.4 Kubernetes Dashboard管理工具079
3.5實訓:在集群中部署Nginx服務器集群084
第3篇技法篇
第4章築高樓,需利器,使用Hadoop做核心088
4.1 Hadoop簡介088
4.2 HDFS分佈式文件系統092
4.3任務調度與資源管理器YARN 097
4.4 MapReduce分佈式計算框架104
4.5 Hadoop環境搭建113
4.6 Hadoop常用操作命令127
4.7實訓:在容器中部署Hadoop集群130
第5章空間要靈活,使用HBase來管理136
5.1初識HBase 136
5.2 HBase環境搭建144
5.3 HBase Shell操作152
5.4 HBase Thrift編程接口160
5.5 Region的拆分與合併162
5.6實訓:構建訂單管理表165
第6章數據需要規劃,使用Hive建倉庫169
6.1初識Hive 169
6.2 Hive環境搭建171
6.3 Hive數據庫與表176
6.4表的類型183
6.5分桶查詢與排序188
6.6 Sqoop數據的導入導出190
6.7 Hive Thrift編程接口192
6.8實訓:構建訂單分析數據倉庫193
第7章處理要夠快,使用Spark 196
7.1 Spark概述196
7.2 Spark核心原理199
7.3 Spark環境搭建202
7.4提交Spark應用206
7.5實訓:在容器中部署Spark集群209
第8章數據無結構,使用RDD 212
8.1 RDD設計原理212
8.2 RDD編程216
8.3鍵值對RDD 224
8.4讀寫文件230
8.5集成HBase 232
8.6編程進階234
8.7實訓:分析商品銷售情況240
第9章數據有結構,使用SQL語句245
9.1 Spark SQL概述245
9.2創建DataFrame對象249
9.3 DataFrame常用的API 254
9.4保存DataFrame 262
9.5實訓:分析公司銷售業績264
第10章Spark流式計算編程268
10.1流計算簡介268
10.2 Discretized Stream 271
10.3 Structured Streaming 278
10.4實訓:實時統計貸款金額293
第4篇算法篇
第11章發掘數據價值,使用機器學習技術297
11.1什麼是機器學習297
11.2 scikit-learn機器學習庫303
11.3 Spark機器學習庫308
11.4實訓:簡單的情感分析310
第12章處理分類問題313
12.1分類問題概述313
12.2決策樹.315
12.3隨機森林320
12.4 Logistic回歸325
12.5支持向量機329
12.6貝葉斯334
12.7實訓:判斷用戶是否購買該商品337
第13章處理回歸問題340
13.1回歸問題概述340
13.2線性回歸與多項式回歸342
13.3決策樹回歸347
13.4實訓:預測房價352
第14章處理聚類問題355
14.1聚類問題概述355
14.2基於劃分聚類356
14.3基於模型聚類359
14.4實訓:對客戶進行聚類363
第15章關聯規則與協同過濾365
15.1關聯規則數據挖掘365
15.2協同過濾368
15.3實訓:使用Spark ALS推薦菜單371
第16章建立智能應用374
16.1構建簡單模型374
16.2自定義模型和自定義層384
16.3回調386
16.4保存與恢復模型388
16.5識別手寫字391
16.6實訓:貓狗識別394
第5篇實戰篇
第17章綜合實戰:猜你喜歡401
17.1項目背景與解決方案介紹401
17.2數據庫設計403
17.3推薦模型404
17.4前端網站406
第18章綜合實戰:人臉識別416
18.1項目背景與解決方案介紹416
18.2圖像採集418
18.3訓練模型與識別人臉422
作者介紹
朱春旭,高級軟件工程師,長期為軟件開發公司、政府機構培訓大數據開發與應用課程,提供大數據技術諮詢與問題解決方案,對Python、大數據分析相關領域有深入研究。
著有《Python編程完全自學教程》《Python數據分析與大數據處理從入門到精通》,培訓學員10000+。