快速上手Scala:Spark大數(shù)據(jù)分析入門
定 價(jià):108 元
- 作者:[澳] Irfan,Elahi(爾凡伊拉希 著
- 出版時(shí)間:2021/6/1
- ISBN:9787121413858
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP
- 頁碼:244
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書是一本為Scala和Spark初學(xué)者準(zhǔn)備的入門書籍,很適合準(zhǔn)備踏入大數(shù)據(jù)開發(fā)領(lǐng)域的新手和其他對(duì)此感興趣的讀者閱讀。本書在內(nèi)容上遵循從宏觀到微觀、由淺入深遞進(jìn)式的講解方式,涵蓋了Spark入門開發(fā)所需的Scala基礎(chǔ)知識(shí)。具體來說,本書按照如下順序進(jìn)行介紹。 首先,前三章從宏觀上介紹了Scala語言,包括初識(shí)Scala、安裝Scala及使用Scala Shell工具。 其次,第四章到第十二章是本書的重點(diǎn),詳細(xì)介紹了與Spark開發(fā)密切相關(guān)的Scala語法,包括變量、數(shù)據(jù)類型、條件語句、代碼塊、函數(shù)、集合、循環(huán)、類和包,以及與異常處理相關(guān)的內(nèi)容,每一章都對(duì)某個(gè)語法點(diǎn)進(jìn)行深入探索。第十三章介紹了如何把寫好的Scala代碼進(jìn)行編譯和打包。 □后,第十四章介紹了Spark的入門實(shí)踐,將前面章節(jié)所學(xué)到的Scala知識(shí)運(yùn)用到Spark開發(fā)中。 此外,本書提供了豐富生動(dòng)的代碼示例和章末練習(xí),如果讀者能夠加以實(shí)踐并思考,一定會(huì)收獲頗豐!
目前在澳大利亞德勤工作,專攻大數(shù)據(jù)和機(jī)器學(xué)習(xí)方向。他在端到端的生命周期方案及在云環(huán)境(Azure、AWS和GCP)中設(shè)計(jì)、開發(fā)和部署生產(chǎn)級(jí)大數(shù)據(jù)分析解決方案架構(gòu)方面擁有豐富經(jīng)驗(yàn),這些環(huán)境支持廣泛的業(yè)務(wù)案例(包括數(shù)據(jù)湖、可伸縮預(yù)測(cè)和圖形分析、流處理)等。他的經(jīng)驗(yàn)延伸到大數(shù)據(jù)分析的DevOps、平臺(tái)治理和管理方面。
杜金源,北航碩士,曾在樂視、美團(tuán)擔(dān)任資深大數(shù)據(jù)開發(fā)工程師,在大數(shù)據(jù)離線數(shù)據(jù)倉庫、實(shí)時(shí)計(jì)算、分布式系統(tǒng)和數(shù)據(jù)平臺(tái)工具鏈方面有多年開發(fā)經(jīng)驗(yàn)。目前在□□□□擔(dān)任技術(shù)專家,從事個(gè)性化推薦算法和大數(shù)據(jù)領(lǐng)域的研發(fā)!禣penshift助力DevOps:云部署更簡單》。
□□章 Scala語言
初識(shí)Scala / 00□
為什么要學(xué)習(xí)Scala / 003
Scala和Java / 003
Scala和Java的關(guān)系 / 003
與Java庫進(jìn)行交互 / 004
Scala和Java的代碼量 / 004
Scala:一種靜態(tài)類型語言 / 006
Apache Spark與Scala / 006
Scala的性能 / 009
學(xué)習(xí)Apache Spark / 009
第二章 安裝Scala
在系統(tǒng)中檢查Scala安裝狀態(tài) / 011
檢查Java Development Kit(JDK)
安裝狀態(tài) / 01□
安裝Oracle JDK / 013
在Windows上安裝Scala / 014
驗(yàn)證Scala安裝狀態(tài) / 016
在Linux中安裝Scala / 016
第三章 使用Scala Shell
從Scala Shell中獲得幫助 / 0□1
Scala REPL的hello world / 0□□
一步步理解Scala REPL中的hello world / 0□□
使用Scala REPL的數(shù)據(jù)類型的
高級(jí)特性 / 0□4
Scala REPL中的粘貼模式 / 0□6
Scala REPL中檢索歷史記錄 / 0□7
Scala REPL的自動(dòng)補(bǔ)全特性 / 0□8
從Scala REPL退出 / 031
第四章 變量
從Scala中的變量開始 / 033
Scala變量的不可變性 / 034
定義可變和不可變的Scala變量 / 035
Scala中強(qiáng)調(diào)不可變性的原因 / 036
可變性和類型安全的注意事項(xiàng) / 037
為變量指定類型與類型推斷 / 038
Scala標(biāo)識(shí)符規(guī)則和命名規(guī)范 / 039
第五章 數(shù)據(jù)類型
Scala的類型層次結(jié)構(gòu) / 041
Boolean類型 / 044
String類型 / 045
多行字符串 / 047
字符串操作 / 047
Scala中的特殊類型 / 054
Unit類型 / 054
Any類型 / 056
Scala中的類型轉(zhuǎn)換 / 057
第六章 條件語句
布爾表達(dá)式 / 061
在Scala中使用條件語句 / 06□
逐步理解條件語句 / 06□
嵌套的If/Else語句 / 064
If/Else作為三元運(yùn)算符 / 066
模式匹配 / 067
第七章 代碼塊
Scala中的代碼塊 / 070
使用代碼塊的注意事項(xiàng) / 07□
代碼塊和If/Else語句 / 07□
第八章 函數(shù)
為什么要使用函數(shù) / 076
理解函數(shù) / 077
Scala中的函數(shù) / 078
函數(shù)調(diào)用 / 079
有關(guān)函數(shù)定義的說明 / 080
多個(gè)參數(shù)的函數(shù) / 081
位置參數(shù) / 08□
函數(shù)中參數(shù)的默認(rèn)值 / 083
無參函數(shù) / 084
單行函數(shù) / 085
在函數(shù)中使用return語句 / 085
將函數(shù)作為參數(shù)傳遞 / 085
匿名函數(shù) / 088
第九章 集合
現(xiàn)實(shí)中的集合示例 / 091
理解列表 / 093
索引列表元素 / 095
在列表中能存儲(chǔ)什么 / 096
被廣泛使用的列表操作 / 097
創(chuàng)建集合 / 106
理解Map集合 / 107
索引一個(gè)Map集合 / 109
Map中key的□□性 / 110
創(chuàng)建Map集合的其他方式 / 111
操作Map / 111
用函數(shù)風(fēng)格迭代Map / 11□
理解元組 / 113
索引元組 / 114
遍歷元組 / 115
創(chuàng)建元組的另一種方法 / 116
理解可變集合 / 116
與可變集合有關(guān)的注意事項(xiàng) / 118
可變的Map / 119
使用嵌套的集合 / 1□0
第十章 循環(huán)
Scala中循環(huán)的類型 / 1□3
for循環(huán) / 1□4
while循環(huán) / 1□5
比較for循環(huán)和while循環(huán) / 1□7
中斷循環(huán) / 1□8
第十一章 類和包
Scala中的類和對(duì)象 / 131
創(chuàng)建Scala的類和對(duì)象 / 13□
多屬性值和注意事項(xiàng) / 135
對(duì)類屬性使用val關(guān)鍵字 / 135
對(duì)類屬性使用var關(guān)鍵字 / 136
對(duì)類屬性既不使用val也不使用var
關(guān)鍵字 / 136
單例對(duì)象 / 137
Case類 / 139
Case類實(shí)踐 / 140
類中的相等性檢查 / 141
同時(shí)使用Case類和集合 / 143
類和包 / 144
避免命名空間沖突 / 144
引入包 / 145
第十二章 異常處理
Scala異常處理的基礎(chǔ) / 149
類型推斷的含義和異常處理 / 157
使用Try、Catch和Finally / 159
第十三章 編譯和打包
Scala開發(fā)生命周期 / 16□
Scala開發(fā)生命周期實(shí)踐 / 163
Scala編譯構(gòu)建工具(SBT) / 164
在Windows上使用SBT / 165
在SBT上構(gòu)建.□□t / 166
使用SBT管理依賴 / 170
使用SBT創(chuàng)建可執(zhí)行的Scala
應(yīng)用程序 / 174
對(duì)可執(zhí)行的Scala應(yīng)用程序使用
Scala應(yīng)用特性 / 176
Scala應(yīng)用程序的Maven文件夾
結(jié)構(gòu) / 176
在Scala應(yīng)用程序中創(chuàng)建多個(gè)類
并使用它們 / 178
編譯Scala應(yīng)用程序 / 180
以JARS的形式打包Scala
應(yīng)用程序 / 181
轉(zhuǎn)換到IDE / 18□
安裝IntelliJ IDEA / 18□
IntelliJ IDEA插件安裝 / 184
IntelliJ IDEA導(dǎo)入項(xiàng)目 / 184
第十四章 你好,Apache Spark
回顧Spark / 191
分布式計(jì)算引擎 / 191
Spark與Hadoop / 19□
Spark與YARN / 19□
Spark進(jìn)程 / 193
Spark的抽象 / 193
Spark的惰操作模式 / 194
使用Scala開發(fā)Spark / 195
在Databricks中配置Spark環(huán)境 / 195
用Scala開發(fā)Apache Spark / 198
將RDD轉(zhuǎn)換為Dataframe / □0□
加載數(shù)據(jù)到Databricks中 / □03
將RDD轉(zhuǎn)換為Dataframe / □05
使用SBT創(chuàng)建Spark應(yīng)用 / □09
在IntelliJ IDEA中創(chuàng)建一個(gè)新的
項(xiàng)目 / □09
為Uber JARs管理SBT插件 / □10
在SBT中管理Apache Spark
依賴 / □11
Spark應(yīng)用程序代碼 / □1□
結(jié)論及展望 / □19