快速上手Scala:Spark大數據分析入門

快速上手Scala:Spark大數據分析入門

《快速上手Scala:Spark大數據分析入門》是2021年電子工業出版社出版的圖書,作者是Irfan Elahi。

基本介紹

  • 書名:快速上手Scala:Spark大數據分析入門
  • 作者:Irfan Elahi
  • 類別:計算機/網路類圖書
  • 出版社:電子工業出版社
  • 出版時間:2021年
  • 頁數:244 頁
  • 定價:108 元 
  • 開本:128 開
  • 裝幀:平裝
  • ISBN:9787121413858
內容簡介,作者簡介,圖書目錄,

內容簡介

本書是一本為Scala和Spark初學者準備的入門書籍,很適合準備踏入大數據開發領域的新手和其他對此感興趣的讀者閱讀。本書在內容上遵循從巨觀到微觀、由淺入深遞進式的講解方式,涵蓋了Spark入門燥習奔開發所需的Scala基礎知白乎尋識。具體來說,本書按照如下順序進行介紹。 首先,前三章從巨觀上介紹了Scala語言,包括初識Scala、安裝Scala及使用Scala Shell工具。 其次,第四章到第十二章是本書的重點,詳細介紹了與Spark開發密切相關的Scala語法,包括變數、數據類型、條件語句、代碼塊、函式、集合、循環、類和包,以及與異常處理相關的內容,每一章都對某個語法點進行深入探索。第十三章介紹了如何把寫好的Scala代碼進行編譯和打包。 後,第十四章介紹了Spark的入門實踐,將前面章節所學到的Scala知識運用到Spark開發中。 此外,本書提供了豐富生動的代碼示例和章末練習,如果讀者能夠加以實踐並思考,一定會收穫頗豐!

作者簡介

目前在澳大利亞德勤工作,專攻大數據和機器學習方向。他在端到端的生命周期方案及在雲環境(Azure、AWS和GCP)中設計、開發和府戀己組部署生產級大數據分析解決方案架構方面擁有豐富經驗,這些環境支持廣泛的業務案例(包括數據湖、可伸縮預測和圖形分析、流處理)等。他的經驗延伸到大數據分析的DevOps、平台治理和管理方面。
杜金源,北航碩士,曾在樂視、美團擔任資深大數據開發工程師,在大數據離線數據倉庫、實時計算、分散式系統和數據平台工具鏈方面有多年開發經驗。目前在阿里巴巴擔任技術專家,從事個性化推薦算法和大數據領域的研發。《Openshift助力DevOps:雲部署更簡單》舟祝協。

圖書目錄

第一章 Scala語言
初識Scala / 002
為什麼要學習Scala / 003
Scala和Java / 003
Scala和Java的關係 / 003
與Java庫進行互動 / 004
Scala和Java的代碼量 / 004
Scala:一種靜態類型語言 / 006
Apache Spark與Scala / 006
Scala的性能 / 009
學習Apache Spark / 009
第二章 安裝Scala
在系統中乘盛朵戶檢查Scala安裝狀態 / 011
檢查Java Development Kit(JDK)
安裝狀態 / 012
安裝Oracle JDK / 013
在Windows上安裝Scala / 014
驗證Scala安裝狀態 / 016
在Linux中安裝Scala / 016
第三章 使用Scala Shell
從Scala Shell中獲得幫助 / 021
Scala REPL的hello world / 022
一步步理解Scala REPL中的hello world / 022
使用Scala REPL的數據類型的
高級特性 / 024
Scala REPL中的貼上模式 / 026
Scala REPL中檢索歷史記錄 / 027
Scala REPL的自動補全海充特性 / 028
從Scala REPL退出 / 031
第四章 變數
從Scala中的變數開始埋姜燥 / 033
Scala變數的不可變性 / 034
定義可變和不可變的Scala變數 / 035
Scala中強調不可變性的原因 / 036
可變性和類型安全的注意事項 / 037
為變數指定類型與類型推斷 / 038
Scala標識符規則和命名規範 / 039
第五章 數據類型
Scala的類型層次結構 / 041
Boolean類型 / 044
String類型 / 045
多行字元串 / 047
字元串操作 / 047
Scala中的特殊類型 / 054
Unit類型 / 054
Any類型 / 056
Scala中的類型轉換 / 057
第六章 條件語句
布爾表達式 / 061
在Scala中使用條件語句 / 062
逐步理解條件語句 / 062
嵌套的If/Else語句 / 064
If/Else作為三元運算符 / 066
模式匹配 / 067
第七章 代碼塊
Scala中的代碼塊 / 070
使用代碼塊的注意事項 / 072
代碼塊和If/Else語句 / 072
第八章 函式
為什麼要使用函式 / 076
理解函式 / 077
Scala中的函式 / 078
函式調用 / 079
有關函式定義的說明 / 080
多個參數的函式 / 081
位置參數 / 082
函式中參數的默認值 / 083
無參函式 / 084
單行函式 / 085
在函式中使用return語句 / 085
將函式作為參數傳遞 / 085
匿名函式 / 088
第九章 集合
現實中的集合示例 / 091
理解列表 / 093
索引列表元素 / 095
在列表中能存儲什麼 / 096
被廣泛使用的列表操作 / 097
創建集合 / 106
理解Map集合 / 107
索引一個Map集合 / 109
Map中key的性 / 110
創建Map集合的其他方式 / 111
操作Map / 111
用函式風格疊代Map / 112
理解元組 / 113
索引元組 / 114
遍曆元組 / 115
創建元組的另一種方法 / 116
理解可變集合 / 116
與可變集合有關的注意事項 / 118
可變的Map / 119
使用嵌套的集合 / 120
第十章 循環
Scala中循環的類型 / 123
for循環 / 124
while循環 / 125
比較for循環和while循環 / 127
中斷循環 / 128
第十一章 類和包
Scala中的類和對象 / 131
創建Scala的類和對象 / 132
多屬性值和注意事項 / 135
對類屬性使用val關鍵字 / 135
對類屬性使用var關鍵字 / 136
對類屬性既不使用val也不使用var
關鍵字 / 136
單例對象 / 137
Case類 / 139
Case類實踐 / 140
類中的相等性檢查 / 141
同時使用Case類和集合 / 143
類和包 / 144
避免命名空間衝突 / 144
引入包 / 145
第十二章 異常處理
Scala異常處理的基礎 / 149
類型推斷的含義和異常處理 / 157
使用Try、Catch和Finally / 159
第十三章 編譯和打包
Scala開發生命周期 / 162
Scala開發生命周期實踐 / 163
Scala編譯構建工具(SBT) / 164
在Windows上使用SBT / 165
在SBT上構建.sbt / 166
使用SBT管理依賴 / 170
使用SBT創建可執行的Scala
應用程式 / 174
對可執行的Scala應用程式使用
Scala套用特性 / 176
Scala應用程式的Maven資料夾
結構 / 176
在Scala應用程式中創建多個類
並使用它們 / 178
編譯Scala應用程式 / 180
以JARS的形式打包Scala
應用程式 / 181
轉換到IDE / 182
安裝IntelliJ IDEA / 182
IntelliJ IDEA外掛程式安裝 / 184
IntelliJ IDEA導入項目 / 184
第十四章 你好,Apache Spark
回顧Spark / 191
分散式計算引擎 / 191
Spark與Hadoop / 192
Spark與YARN / 192
Spark進程 / 193
Spark的抽象 / 193
Spark的惰操作模式 / 194
使用Scala開發Spark / 195
在Databricks中配置Spark環境 / 195
用Scala開發Apache Spark / 198
將RDD轉換為Dataframe / 202
載入數據到Databricks中 / 203
將RDD轉換為Dataframe / 205
使用SBT創建Spark套用 / 209
在IntelliJ IDEA中創建一個新的
項目 / 209
為Uber JARs管理SBT外掛程式 / 210
在SBT中管理Apache Spark
依賴 / 211
Spark應用程式代碼 / 212
結論及展望 / 219
第三章 使用Scala Shell
從Scala Shell中獲得幫助 / 021
Scala REPL的hello world / 022
一步步理解Scala REPL中的hello world / 022
使用Scala REPL的數據類型的
高級特性 / 024
Scala REPL中的貼上模式 / 026
Scala REPL中檢索歷史記錄 / 027
Scala REPL的自動補全特性 / 028
從Scala REPL退出 / 031
第四章 變數
從Scala中的變數開始 / 033
Scala變數的不可變性 / 034
定義可變和不可變的Scala變數 / 035
Scala中強調不可變性的原因 / 036
可變性和類型安全的注意事項 / 037
為變數指定類型與類型推斷 / 038
Scala標識符規則和命名規範 / 039
第五章 數據類型
Scala的類型層次結構 / 041
Boolean類型 / 044
String類型 / 045
多行字元串 / 047
字元串操作 / 047
Scala中的特殊類型 / 054
Unit類型 / 054
Any類型 / 056
Scala中的類型轉換 / 057
第六章 條件語句
布爾表達式 / 061
在Scala中使用條件語句 / 062
逐步理解條件語句 / 062
嵌套的If/Else語句 / 064
If/Else作為三元運算符 / 066
模式匹配 / 067
第七章 代碼塊
Scala中的代碼塊 / 070
使用代碼塊的注意事項 / 072
代碼塊和If/Else語句 / 072
第八章 函式
為什麼要使用函式 / 076
理解函式 / 077
Scala中的函式 / 078
函式調用 / 079
有關函式定義的說明 / 080
多個參數的函式 / 081
位置參數 / 082
函式中參數的默認值 / 083
無參函式 / 084
單行函式 / 085
在函式中使用return語句 / 085
將函式作為參數傳遞 / 085
匿名函式 / 088
第九章 集合
現實中的集合示例 / 091
理解列表 / 093
索引列表元素 / 095
在列表中能存儲什麼 / 096
被廣泛使用的列表操作 / 097
創建集合 / 106
理解Map集合 / 107
索引一個Map集合 / 109
Map中key的性 / 110
創建Map集合的其他方式 / 111
操作Map / 111
用函式風格疊代Map / 112
理解元組 / 113
索引元組 / 114
遍曆元組 / 115
創建元組的另一種方法 / 116
理解可變集合 / 116
與可變集合有關的注意事項 / 118
可變的Map / 119
使用嵌套的集合 / 120
第十章 循環
Scala中循環的類型 / 123
for循環 / 124
while循環 / 125
比較for循環和while循環 / 127
中斷循環 / 128
第十一章 類和包
Scala中的類和對象 / 131
創建Scala的類和對象 / 132
多屬性值和注意事項 / 135
對類屬性使用val關鍵字 / 135
對類屬性使用var關鍵字 / 136
對類屬性既不使用val也不使用var
關鍵字 / 136
單例對象 / 137
Case類 / 139
Case類實踐 / 140
類中的相等性檢查 / 141
同時使用Case類和集合 / 143
類和包 / 144
避免命名空間衝突 / 144
引入包 / 145
第十二章 異常處理
Scala異常處理的基礎 / 149
類型推斷的含義和異常處理 / 157
使用Try、Catch和Finally / 159
第十三章 編譯和打包
Scala開發生命周期 / 162
Scala開發生命周期實踐 / 163
Scala編譯構建工具(SBT) / 164
在Windows上使用SBT / 165
在SBT上構建.sbt / 166
使用SBT管理依賴 / 170
使用SBT創建可執行的Scala
應用程式 / 174
對可執行的Scala應用程式使用
Scala套用特性 / 176
Scala應用程式的Maven資料夾
結構 / 176
在Scala應用程式中創建多個類
並使用它們 / 178
編譯Scala應用程式 / 180
以JARS的形式打包Scala
應用程式 / 181
轉換到IDE / 182
安裝IntelliJ IDEA / 182
IntelliJ IDEA外掛程式安裝 / 184
IntelliJ IDEA導入項目 / 184
第十四章 你好,Apache Spark
回顧Spark / 191
分散式計算引擎 / 191
Spark與Hadoop / 192
Spark與YARN / 192
Spark進程 / 193
Spark的抽象 / 193
Spark的惰操作模式 / 194
使用Scala開發Spark / 195
在Databricks中配置Spark環境 / 195
用Scala開發Apache Spark / 198
將RDD轉換為Dataframe / 202
載入數據到Databricks中 / 203
將RDD轉換為Dataframe / 205
使用SBT創建Spark套用 / 209
在IntelliJ IDEA中創建一個新的
項目 / 209
為Uber JARs管理SBT外掛程式 / 210
在SBT中管理Apache Spark
依賴 / 211
Spark應用程式代碼 / 212
結論及展望 / 219

相關詞條

熱門詞條

聯絡我們