商品详情
书名:快速上手Scala:Spark大数据分析入门
定价:108.0
ISBN:9787121413858
作者:(澳)Irfan Elahi(尔凡伊拉希)
版次:第1版
出版时间:2021-06
内容提要:
本书是一本为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
定价:108.0
ISBN:9787121413858
作者:(澳)Irfan Elahi(尔凡伊拉希)
版次:第1版
出版时间:2021-06
内容提要:
本书是一本为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
- 电子工业出版社有限公司
- 电子工业出版社有限公司有赞官方供货商,为客户提供一流的知识产品及服务。
- 扫描二维码,访问我们的微信店铺