3dwoo大學簡體電腦書店
快速上手Scala:Spark大數據分析入門
( 簡體 字)
作者:杜金源,張真亦類別:1. -> 程式設計 -> Scala
出版社:電子工業出版社快速上手Scala:Spark大數據分析入門 3dWoo書號: 54841
詢問書籍請說出此書號!
有庫存
NT售價: 540
出版日:6/1/2021
頁數:244
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787121413858 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
第一章 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和Spark初學者準備的入門書籍,很適合準備踏入大數據開發領域的新手和其他對此感興趣的讀者閱讀。本書在內容上遵循從宏觀到微觀、由淺入深遞進式的講解方式,涵蓋了Spark入門開發所需的Scala基礎知識。具體來說,本書按照如下順序進行介紹。 首先,前三章從宏觀上介紹了Scala語言,包括初識Scala、安裝Scala及使用Scala Shell工具。 其次,第四章到第十二章是本書的重點,詳細介紹了與Spark開發密切相關的Scala語法,包括變量、數據類型、條件語句、代碼塊、函數、集合、循環、類和包,以及與異常處理相關的內容,每一章都對某個語法點進行深入探索。第十三章介紹了如何把寫好的Scala代碼進行編譯和打包。 最后,第十四章介紹了Spark的入門實踐,將前面章節所學到的Scala知識運用到Spark開發中。 此外,本書提供了豐富生動的代碼示例和章末練習,如果讀者能夠加以實踐并思考,一定會收獲頗豐!
首先,祝賀你決定閱讀這本書!
要知道,你的這個決定將具有重大的意義,你將從這本書中獲取你所希望學習的知識。在引言部分,我們將講述學習這項技能的背景與期望,以便你擁有最佳的學習路徑。
從本書的標題和描述中可以看出,這本書是關于Scala的。學習Scala的基礎知識,因為Scala是目前最熱門、最受歡迎的編程語言之一。隨著Apache Spark和Kafka等大數據平臺的崛起,人們對Scala的學習需求也進一步飆升。因此,如果肯付出時間,那么學習Scala的決定肯定是意義斐然的。另外,本書的標題還非常清晰地表明了本書的適用范圍:用于大數據分析的Scala編程。
Scala是一門通用語言,可以用于許多場景,如大數據開發、Web應用程序開發和數值計算等。本書的重點在于大數據開發,話雖如此,但本書并沒有詳細講解大數據開發的相關知識,而是簡要講解了Scala語言的一些概念。這些概念與大數據開發息息相關。
現在你可能會問,學習這些重要嗎?為什么要學習這本書呢?讓我簡要地介紹一下自己以回答你的這些疑問吧!我從事大數據和機器學習工作多年,我可以很自豪地說,我是一個自學成才的工程師或者說是數據科學家。我自學了大數據領域中用到的技術、框架、文獻和工具等。所以我能與那些在這個領域剛起步的人有強烈的共鳴,并且理解他們可能會面臨的挑戰,因為我的職業生涯中也遇到過類似的挑戰。大數據和機器學習(或一般的數據科學)是內容繁雜的領域,一個人很容易因為需要學習的東西太多而被搞得不知所措。特別是在大數據開發方向,我見過一些沒有計算機背景的人,或者即使有,他們也會遇到一個關鍵的瓶頸:他們并不擅長使用大數據領域的標準語言。Hadoop相關的大數據技術主要是用Java開發的。而許多最近被廣泛使用的大數據技術,如Apache Spark和Kafka,則是用Scala開發的。
具體來說,Apache Spark是目前使用最廣泛的大數據處理框架之一,可以應用于很多場景中(這將在后續章節中詳細闡述),是用Scala開發的。如果想在項目中使用Spark,那么應該學習Scala。這就是學習時面臨挑戰的地方!大數據工程師需要在學習Scala技能方面付出更多努力,這是使用Spark的先決條件。但是,他們讀的書太多,書的內容太過詳細,而且對Scala的介紹也過于深入。通常,這些書中的很多內容對于剛開始學習開發Spark并不是重要的。正是出于這個原因,作為領先的Hadoop商業供應商之一,Cloudera為所有想學習并參加Spark和Hadoop開發認證計劃的人提供了“剛好夠用的Scala”培訓。如果你有能力參加他們價格昂貴的培訓,那當然再好不過。或者,如果你想從一個自學的大數據工程師那里學習足夠多的Scala知識,而且他目前還在這個行業工作,并一直在使用Scala語言進行大數據及通用應用程序的開發,那正是本書所能提供的幫助。可以通過我在本書中分享的知識和經驗,以一種專注而務實的方式熟練地使用Scala。如果你問我的話,我認為沒有什么能比這個更有價值。
說到這里,讓我快速地總結出這本書中的一些獨到之處。這本書涵蓋了剛開始進行Spark開發的相關Scala概念。即使是這些概念也有其自身的深度,我將在本書中介紹這些概念所需的學習深度,以及大量需要動手實踐的例子。此外,我將重點介紹那些還需要自己學習的東西。你可能會發現本書這種風格不同于那些涵蓋所有Scala內容的書籍,因為一旦開始介紹這些概念的細節,這本書就將偏離它的重點—幫助你快速掌握Scala,以便你能夠集中更多的精力學習Spark。
所以你會發現我建議你重點研究某些特定的主題和概念。我是從參加許多知名公司的培訓活動中獲得的這種靈感,如Cloudera和微軟,他們會拋出一個問題,并希望你自己解決這個問題,而不是依賴于講師的指導。事實證明,這些培訓方案是非常有效的。同樣,在這本書中,如果你遵循我強調的要點進行學習,它將是很有價值的,因為它將拓寬你的知識面,并提升你的技能水平。但如果你不這樣做,你仍然可以從本書中學到很多,關鍵在于你想投入多少學習成本。因此,話不多說,讓我們開始學習Scala吧!你會發現我的教學風格是有趣且吸引人的,因為我是以一種獨特的方式進行教學的。這就是為什么我現在是德勤的數據科學培訓師的原因。我在大學論壇、全球峰會和學術會議上都發表過演講,并且有成千上萬的學生都注冊了我的Udemy課程。
現在,就讓我們開始學習吧!
pagetop