Hadoop+Spark+Python大數(shù)據(jù)處理從算法到實(shí)戰(zhàn)
定 價(jià):99 元
本書(shū)圍繞新基建的云計(jì)算、大數(shù)據(jù)及人工智能進(jìn)行介紹,分為以下五個(gè)部分。 第一部分介紹大數(shù)據(jù)的概念與特點(diǎn),以及典型的產(chǎn)業(yè)應(yīng)用場(chǎng)景;第二部分介紹目前云計(jì)算中的一個(gè)重要的研究與應(yīng)用領(lǐng)域—容器云,包含應(yīng)用容器引擎Docker與容器編排工具Kubernetes;第三部分是大數(shù)據(jù)分析的基礎(chǔ),也是大數(shù)據(jù)分析技術(shù)的重點(diǎn),包含Hadoop、HBase、Hive、Spark的環(huán)境搭建及開(kāi)發(fā)流程;第四部分是機(jī)器學(xué)習(xí)相關(guān)算法的應(yīng)用,包含scikit-learn、SparkML、TensorFlow工具的使用;第五部分,以實(shí)例介紹如何使用Spark機(jī)器學(xué)習(xí)庫(kù)中的協(xié)同過(guò)濾算法,來(lái)實(shí)現(xiàn)一個(gè)基于Web的推薦系,以及介紹如何使用OpenCV與TensorFlow構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)基于Web的人臉識(shí)別。 本書(shū)輕理論,重實(shí)踐,適合有一定編程基礎(chǔ),且對(duì)云計(jì)算、大數(shù)據(jù)、機(jī)器學(xué)習(xí)、人工智能感興趣,希望投身到新基建這一偉大事業(yè)的讀者學(xué)習(xí)。同時(shí),本書(shū)還可作為廣大院校相關(guān)專(zhuān)業(yè)的教材和培訓(xùn)參考用書(shū)。
1.書(shū)力求簡(jiǎn)單、實(shí)用,堅(jiān)持以實(shí)例為主,理論為輔。 從應(yīng)用場(chǎng)景切入,圍繞新基建的云計(jì)算、大數(shù)據(jù)及人工智能,介紹大數(shù)據(jù)的概念與特點(diǎn)及典型的產(chǎn)業(yè)應(yīng)用場(chǎng)景,使讀者了解大數(shù)據(jù)項(xiàng)目和機(jī)器學(xué)習(xí)開(kāi)發(fā)過(guò)程,能設(shè)計(jì)不同場(chǎng)景下的項(xiàng)目架構(gòu),并做好不同業(yè)務(wù)下的數(shù)據(jù)建模。 2.Hadoop+spark+Python三合一,內(nèi)容講解重點(diǎn)分明,細(xì)節(jié)具體。本書(shū)解析了每個(gè)領(lǐng)域內(nèi)的復(fù)雜邏輯和豐富內(nèi)涵,盡可能讓讀者用更低的成本,盡快掌握相關(guān)技術(shù),緊跟時(shí)代步伐。本書(shū)大多數(shù)章節(jié)都包含實(shí)訓(xùn)模塊,讓讀者在學(xué)完該章節(jié)的知識(shí)后能夠舉一反三,學(xué)以致用,早日投身新基建。 3.布局合理,循序漸進(jìn),自有章法。本書(shū)先介紹了入門(mén)級(jí)的容器化工具Docker 與 Kubernetes,然后介紹大數(shù)據(jù)的常用組件,為讀者的后續(xù)實(shí)踐打好基礎(chǔ)后,開(kāi)始講解機(jī)器學(xué)習(xí)庫(kù)的相關(guān)用法;隨著人工智能的快速發(fā)展,神經(jīng)網(wǎng)絡(luò)及相關(guān)的開(kāi)發(fā)工具也愈發(fā)強(qiáng)大,因此引入了能解決更復(fù)雜問(wèn)題,但操作又比較簡(jiǎn)單的深度學(xué)習(xí)框架 TensorFlow。掌握TensorFlow,既彌補(bǔ)了 Spark、scikit-learn 的不足,又能應(yīng)對(duì)更困難的場(chǎng)景。
前 言 用新技術(shù)、新思維,投身新基建 為什么寫(xiě)這本書(shū)? 2020 年 3 月,國(guó)家提出要加快 5G 網(wǎng)絡(luò)和數(shù)據(jù)中心等新型基礎(chǔ)設(shè)施建設(shè)(簡(jiǎn)稱(chēng)新基建)的進(jìn)度。 其中,信息化新型基礎(chǔ)設(shè)施包含云計(jì)算、大數(shù)據(jù)、人工智能、區(qū)塊鏈、5G 等內(nèi)容。 云計(jì)算、大數(shù)據(jù)、人工智能,這三者從表面上看似乎是三個(gè)獨(dú)立的技術(shù)方向,實(shí)則一脈相承。 筆者在南京大學(xué)參加人工智能峰會(huì)的時(shí)候,曾向?qū)<艺?qǐng)教了一個(gè)問(wèn)題:云計(jì)算、大數(shù)據(jù)、人工智能之間有什么關(guān)系?專(zhuān)家解釋?zhuān)簭恼w上看,云計(jì)算就是高速公路,大數(shù)據(jù)就是路上滿(mǎn)載貨物、飛速奔馳的車(chē)輛,人工智能則通過(guò)觀察道路利用情況、車(chē)輛運(yùn)行情況,發(fā)現(xiàn)其中的規(guī)律,合理規(guī)劃道路、合理調(diào)度車(chē)輛,讓整個(gè)系統(tǒng)運(yùn)行得更高效。 簡(jiǎn)單來(lái)說(shuō),云計(jì)算技術(shù)提供了算力,大數(shù)據(jù)技術(shù)提供了數(shù)據(jù)支撐,人工智能技術(shù)提供了強(qiáng)大算法,這三者之間存在著不可分割的“親緣”關(guān)系。 從細(xì)節(jié)來(lái)看,每一個(gè)領(lǐng)域都有復(fù)雜的邏輯和豐富的內(nèi)涵。如果要將這三門(mén)技術(shù)融合在一起,需要有比較扎實(shí)的技術(shù)功底和充裕的時(shí)間。因此本書(shū)的目標(biāo)是盡可能讓讀者用最低的成本,盡快掌握相關(guān)技術(shù),緊跟時(shí)代步伐,早日投身新基建。 這本書(shū)的特點(diǎn)是什么? 本書(shū)力求簡(jiǎn)單、實(shí)用,堅(jiān)持以實(shí)例為主,理論為輔。 全書(shū)分為五篇,從大數(shù)據(jù)的基本概念與產(chǎn)業(yè)應(yīng)用入手,然后介紹將大數(shù)據(jù)平臺(tái)容器化的工具Docker 與 Kubernetes,之后講解大數(shù)據(jù)常用的組件:Hadoop、HBase、Hive、Spark,最后引入了對(duì)數(shù)據(jù)進(jìn)行挖掘的機(jī)器學(xué)習(xí)庫(kù) scikit-learn 和 Spark MLlib。 隨著人工智能的快速發(fā)展,神經(jīng)網(wǎng)絡(luò)及相關(guān)的開(kāi)發(fā)工具也愈發(fā)強(qiáng)大,因此在了解機(jī)器學(xué)習(xí)后,本書(shū)又引入了能解決更復(fù)雜問(wèn)題,但操作又比較簡(jiǎn)單的深度學(xué)習(xí)框架 TensorFlow。掌握TensorFlow,既彌補(bǔ)了 Spark、scikit-learn 的不足,又能應(yīng)對(duì)更困難的場(chǎng)景。 本書(shū)沒(méi)有高深的理論,每一章都以實(shí)例為主,讀者通過(guò)參考源代碼,修改實(shí)例,就能得到自己想要的結(jié)果,讓讀者看得懂、學(xué)得會(huì)、做得出。 本書(shū)大多數(shù)章節(jié)都包含實(shí)訓(xùn)模塊,讓讀者在學(xué)完該章節(jié)的知識(shí)后能夠舉一反三,學(xué)以致用。 通過(guò)這本書(shū)能學(xué)到什么? 1. 數(shù)據(jù)分析理論基礎(chǔ):了解大數(shù)據(jù)的特征、大數(shù)據(jù)分析目標(biāo)如何確立、大數(shù)據(jù)項(xiàng)目開(kāi)發(fā)流程、機(jī)器學(xué)習(xí)開(kāi)發(fā)過(guò)程。 2. 大數(shù)據(jù)平臺(tái)容器化:掌握 Docker、Kubernetes 的安裝方法;掌握基于 Docker 容器的集群部署方法;掌握 Kubernetes 的集群部署方法。 3. 數(shù)據(jù)分析:理解分布式存儲(chǔ)原理、分布式計(jì)算原理及分布式資源調(diào)度原理,掌握 Hadoop、HBase、Hive、Spark、scikit-learn、TensorFlow 數(shù)據(jù)分析技術(shù)。 4. 掌握架構(gòu)設(shè)計(jì)與實(shí)施技能:能設(shè)計(jì)不同場(chǎng)景下的項(xiàng)目架構(gòu),并做好不同業(yè)務(wù)下的數(shù)據(jù)建模。 5. 項(xiàng)目開(kāi)發(fā):熟練使用 Python 語(yǔ)言,綜合運(yùn)用各類(lèi)組件,獨(dú)立完成項(xiàng)目開(kāi)發(fā)。掌握基本的機(jī)器學(xué)習(xí)、人工智能開(kāi)發(fā)技術(shù)。 2 本書(shū)的核心組件版本和閱讀時(shí)的注意事項(xiàng) 1. 核心組件版本 Python:Anaconda 3 Python 3.7 版本 CentOS:7.5 Hadoop:3.1.3 HBase:2.2.2 Hive:3.1.1 Spark:2.4.4 scikit-learn:0.22 TensorFlow:2.1.0 其中,Hadoop、HBase、Hive、Spark 安裝過(guò)程相對(duì)復(fù)雜,版本不匹配容易出錯(cuò),建議讀者使用與本書(shū)一致的版本,待精通大數(shù)據(jù)平臺(tái)知識(shí)之后,再選擇其他版本。另外 TensorFlow 1.x 與TensorFlow 2.x 版本存在巨大差異,使用 TensorFlow 2.x 將會(huì)成為流行趨勢(shì),建議讀者使用 2.x 版本。 2. 注意事項(xiàng) 在實(shí)訓(xùn)板塊,建議讀者根據(jù)主題回顧小節(jié)內(nèi)容,思考后再設(shè)計(jì)自己的實(shí)現(xiàn)方案,并與書(shū)中的實(shí)現(xiàn)方式進(jìn)行對(duì)比,以便取得更好的學(xué)習(xí)效果。 除了書(shū),您還能得到什么? 1. 贈(zèng)送案例源代碼。提供書(shū)中相關(guān)案例的源代碼,方便讀者學(xué)習(xí)參考。 2. 贈(zèng)送 50 道 Python 面試題及答案,幫助讀者提高面試成功率。 3. 贈(zèng)送職場(chǎng)高效學(xué)習(xí)資源大禮包,包括《微信高手技巧隨身查》《QQ 高手技巧隨身查》《手機(jī)辦公 10 招就夠》等電子書(shū),以及“5 分鐘學(xué)會(huì)番茄工作法”“10 招精通超級(jí)時(shí)間整理術(shù)”視頻教程,讓您輕松應(yīng)對(duì)職場(chǎng)那些事兒。 感謝胡子平老師及北京大學(xué)出版社的各位編輯在本書(shū)的內(nèi)容策劃、設(shè)計(jì)和審核上給我的幫助。在本書(shū)的編寫(xiě)過(guò)程中,我竭盡所能地為讀者呈現(xiàn)最好、最全面、最實(shí)用的內(nèi)容,但仍難免有疏漏之處,敬請(qǐng)廣大讀者不吝指正。
朱春旭,高級(jí)軟件工程師,長(zhǎng)期為軟件開(kāi)發(fā)公司、政府機(jī)構(gòu)培訓(xùn)大數(shù)據(jù)開(kāi)發(fā)與應(yīng)用課程,提供大數(shù)據(jù)技術(shù)咨詢(xún)與問(wèn)題解決方案,對(duì)Python、大數(shù)據(jù)分析相關(guān)領(lǐng)域有深入研究。著有《Python編程完全自學(xué)教程》《Python數(shù)據(jù)分析與大數(shù)據(jù)處理從入門(mén)到精通》,培訓(xùn)學(xué)員10000+。
第1篇 入門(mén)篇 第 1 章 初識(shí)大數(shù)據(jù) 002 1.2 如何處理與分析大數(shù)據(jù) 004 1.3 大數(shù)據(jù)的產(chǎn)業(yè)應(yīng)用 008 第2篇 準(zhǔn)備篇 第 2 章 萬(wàn)丈高樓平地起,使用 Docker 作地基 011 2.1 初識(shí) Docker 011 2.2 搭建 Docker 運(yùn)行環(huán)境 016 2.3 Docker 操作鏡像 029 2.4 Docker 操作容器 036 2.5 Docker 私有倉(cāng)庫(kù) 045 2.6 Docker Compose 編排容器046 2.7 Portainer 可視化工具 053 2.8 實(shí)訓(xùn):構(gòu)建 Nginx 鏡像并創(chuàng)建容器 055 第 3 章 團(tuán)隊(duì)合作好,使用 Kubernetes 來(lái)協(xié)調(diào) 057 3.1 初識(shí) Kubernetes057 3.2 搭建集群 063 3.4 Kubernetes Dashboard 管理工具 079 3.5 實(shí)訓(xùn):在集群中部署 Nginx 服務(wù)器集群 084 第3篇 技法篇 第 4 章 筑高樓,需利器,使用 Hadoop 做核心 088 4.1 Hadoop 簡(jiǎn)介 088 4.2 HDFS 分布式文件系統(tǒng) 092 4.3 任務(wù)調(diào)度與資源管理器 YARN 097 4.4 MapReduce 分布式計(jì)算框架104 4.5 Hadoop 環(huán)境搭建 113 4.6 Hadoop 常用操作命令 127 4.7 實(shí)訓(xùn):在容器中部署 Hadoop集群 130 第 5 章 空間要靈活,使用 HBase 來(lái)管理 136 5.1 初識(shí) HBase 136 5.2 HBase 環(huán)境搭建144 5.3 HBase Shell 操作 152 5.4 HBase Thrift 編程接口 160 5.5 Region 的拆分與合并 162 5.6 實(shí)訓(xùn):構(gòu)建訂單管理表 165 第 6 章 數(shù)據(jù)需要規(guī)劃,使用 Hive 建倉(cāng)庫(kù)169 6.1 初識(shí) Hive 169 6.2 Hive 環(huán)境搭建 171 6.3 Hive 數(shù)據(jù)庫(kù)與表 176 6.4 表的類(lèi)型 183 6.5 分桶查詢(xún)與排序 188 6.6 Sqoop 數(shù)據(jù)的導(dǎo)入導(dǎo)出 190 6.7 Hive Thrift 編程接口192 6.8 實(shí)訓(xùn):構(gòu)建訂單分析數(shù)據(jù)倉(cāng)庫(kù) 193 第 7 章 處理要夠快,使用 Spark 196 7.1 Spark 概述 196 7.2 Spark 核心原理 199 7.3 Spark 環(huán)境搭建 202 7.4 提交 Spark 應(yīng)用 206 7.5 實(shí)訓(xùn):在容器中部署 Spark集群 209 第 8 章 數(shù)據(jù)無(wú)結(jié)構(gòu),使用 RDD 212 8.1 RDD 設(shè)計(jì)原理 212 8.2 RDD 編程 216 8.3 鍵值對(duì) RDD 224 8.4 讀寫(xiě)文件 230 8.5 集成 HBase 232 8.6 編程進(jìn)階 234 8.7 實(shí)訓(xùn):分析商品銷(xiāo)售情況 240 第 9 章 數(shù)據(jù)有結(jié)構(gòu),使用 SQL 語(yǔ)句 245 9.1 Spark SQL 概述 245 9.2 創(chuàng)建 DataFrame 對(duì)象 249 9.3 DataFrame 常用的 API 254 9.4 保存 DataFrame 262 9.5 實(shí)訓(xùn):分析公司銷(xiāo)售業(yè)績(jī) 264 第 10 章 Spark 流式計(jì)算編程 268 10.1 流計(jì)算簡(jiǎn)介 268 10.2 Discretized Stream 271 10.3 Structured Streaming 278 10.4 實(shí)訓(xùn):實(shí)時(shí)統(tǒng)計(jì)貸款金額 293 第4篇 算法篇 第 11 章 發(fā)掘數(shù)據(jù)價(jià)值,使用機(jī)器學(xué)習(xí)技術(shù)297 11.1 什么是機(jī)器學(xué)習(xí) 297 11.2 scikit-learn 機(jī)器學(xué)習(xí)庫(kù)303 11.3 Spark 機(jī)器學(xué)習(xí)庫(kù) 308 11.4 實(shí)訓(xùn):簡(jiǎn)單的情感分析 310 第 12 章 處理分類(lèi)問(wèn)題313 12.1 分類(lèi)問(wèn)題概述 313 12.2 決策樹(shù) .315 12.3 隨機(jī)森林 320 12.4 Logistic 回歸 325 12.5 支持向量機(jī) 329 12.6 貝葉斯 334 12.7 實(shí)訓(xùn):判斷用戶(hù)是否購(gòu)買(mǎi)該商品 337 第 13 章 處理回歸問(wèn)題 340 13.1 回歸問(wèn)題概述 340 13.2 線性回歸與多項(xiàng)式回歸 342 13.3 決策樹(shù)回歸 347 13.4 實(shí)訓(xùn):預(yù)測(cè)房?jī)r(jià) 352 第 14 章 處理聚類(lèi)問(wèn)題 355 14.1 聚類(lèi)問(wèn)題概述 355 14.2 基于劃分聚類(lèi) 356 14.3 基于模型聚類(lèi) 359 14.4 實(shí)訓(xùn):對(duì)客戶(hù)進(jìn)行聚類(lèi) 363 第 15 章 關(guān)聯(lián)規(guī)則與協(xié)同過(guò)濾 365 15.1 關(guān)聯(lián)規(guī)則數(shù)據(jù)挖掘 365 15.2 協(xié)同過(guò)濾 368 15.3 實(shí)訓(xùn):使用 Spark ALS 推薦菜單 371 第 16 章 建立智能應(yīng)用 374 16.1 構(gòu)建簡(jiǎn)單模型 374 16.2 自定義模型和自定義層 384 16.3 回調(diào) 386 16.4 保存與恢復(fù)模型 388 16.5 識(shí)別手寫(xiě)字 391 16.6 實(shí)訓(xùn):貓狗識(shí)別 394 第5篇 實(shí)戰(zhàn)篇 第 17 章 綜合實(shí)戰(zhàn):猜你喜歡401 17.1 項(xiàng)目背景與解決方案介紹 401 17.2 數(shù)據(jù)庫(kù)設(shè)計(jì) 403 17.3 推薦模型 404 17.4 前端網(wǎng)站 406 第 18 章 綜合實(shí)戰(zhàn):人臉識(shí)別416 18.1 項(xiàng)目背景與解決方案介紹 416 18.2 圖像采集 418 18.3 訓(xùn)練模型與識(shí)別人臉 422