快速上手Scala:Spark大数据分析入门
作者: (澳)Irfan Elahi(尔凡伊拉希)
出版社:电子工业出版社 2021-06-01
简介:本书是一本为Scala和Spark初学者准备的入门书籍,很适合准备踏入大数据开发领域的新手和其他对此感兴趣的读者阅读。本书在内容上遵循从宏观到微观、由浅入深递进式的讲解方式,涵盖了Spark入门开发所需的Scala基础知识。具体来说,本书按照如下顺序进行介绍。 首先,前三章从宏观上介绍了Scala语言,包括初识Scala、安装Scala及使用Scala Shell工具。 其次,第四章到第十二章是本书的重点,详细介绍了与Spark开发密切相关的Scala语法,包括变量、数据类型、条件语句、代码块、函数、集合、循环、类和包,以及与异常处理相关的内容,每一章都对某个语法点进行深入探索。第十三章介绍了如何把写好的Scala代码进行编译和打包。 后,第十四章介绍了Spark的入门实践,将前面章节所学到的Scala知识运用到Spark开发中。 此外,本书提供了丰富生动的代码示例和章末练习,如果读者能够加以实践并思考,一定会收获颇丰!【目录】章 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