Spark大数据实时计算:基于Scala开发实战

Spark大数据实时计算:基于Scala开发实战

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

编辑推荐

通过实用技术和实战案例,让你轻松掌握大数据实时计算的方法。

内容简介

本书从大数据实时计算框架Spark的编程语言Scala入手,第1~4章重点介绍函数式编程语言Scala的基础语法、面向对象编程以及函数式编程等,再通过编程训练案例介绍Scala这门语言的实际开发应用,为读者后面学习Spark框架打下牢固的编程基础。第5~10章重点介绍Spark的安装部署、SparkCore编程、Spark SQL结构化数据处理以及Spark Streaming实时数据处理等,对它们进行详细的剖析和解读。最后,在第11章中通过网站运营指标统计和IP经纬度热力图分析两个实战开发项目,让读者充分掌握Spark大数据实时计算框架技术的应用与实操方法。本书适合所有对大数据技术感兴趣的读者。

作者简介

作者杨力,原普开数据大数据架构师兼教学总监,新奥集团公司云数据平台项目首席架构师,京东万象大数据平台缔造人之一,二六三网络通信反垃圾邮件系统平台项目经理。现任沈阳兄弟连教学总监。

章节目录

版权信息

内容提要

前言

服务与支持

第1章 Scala入门基础

1.1 Scala语言的特色

1.2 搭建Scala开发环境

1.2.1 安装JDK

1.2.2 安装Scala SDK

1.2.3 安装IDEA Scala插件

1.3 Scala解释器

1.3.1 启动Scala解释器

1.3.2 执行Scala代码

1.3.3 退出Scala解释器

1.4 Scala语法基础

1.4.1 定义变量

1.4.2 惰性赋值

1.4.3 字符串

1.4.4 数据类型与运算符

1.4.5 条件表达式

1.5 Scala控制结构和函数

1.5.1 for表达式

1.5.2 while循环

1.5.3 函数

1.5.4 方法和函数的区别

1.6 方法

1.6.1 定义方法

1.6.2 方法参数

1.6.3 方法调用方式

1.7 数组

1.7.1 定长数组

1.7.2 变长数组

1.7.3 遍历数组

1.8 元组和列表

1.8.1 元组

1.8.2 列表

1.8.3 Set集合

1.9 Map映射

1.9.1 不可变Map

1.9.2 可变Map

1.9.3 Map基本操作

1.10 函数式编程

1.10.1 遍历(foreach)

1.10.2 使用类型推断简化函数定义

1.10.3 使用下画线简化函数定义

1.10.4 映射(map)

1.10.5 扁平化映射(flatMap)

1.10.6 过滤(filter)

1.10.7 排序

1.10.8 分组(groupBy)

1.10.9 聚合(reduce)

1.10.10 折叠(fold)

1.11 本章总结

1.12 本章习题

第2章 Scala面向对象编程

2.1 类与对象

2.2 定义和访问成员变量

2.3 使用下画线初始化成员变量

2.4 定义成员方法

2.5 访问修饰符

2.6 类的构造器

2.6.1 主构造器

2.6.2 辅助构造器

2.7 单例对象

2.7.1 定义单例对象

2.7.2 在单例对象中定义成员方法

2.7.3 工具类案例

2.8 main方法

2.8.1 定义main方法

2.8.2 实现App trait来定义入口

2.9 伴生对象

2.9.1 定义伴生对象

2.9.2 apply和unapply方法

2.10 继承

2.10.1 定义语法

2.10.2 类继承

2.10.3 单例对象继承

2.10.4 override和super

2.11 类型判断

2.11.1 isInstanceOf和asInstanceOf方法

2.11.2 getClass和classOf

2.12 抽象类

定义抽象类

2.13 匿名内部类

2.14 特质

2.14.1 trait作为接口使用

2.14.2 trait中定义具体的字段和抽象字段

2.14.3 使用trait实现模板模式

2.14.4 对象混入trait

2.14.5 使用trait实现调用链模式

2.14.6 trait调用链

2.14.7 trait的构造机制

2.14.8 trait继承类

2.15 本章总结

2.16 本章习题

第3章 Scala编程高级应用

3.1 样例类

3.1.1 定义样例类

3.1.2 样例类方法

3.1.3 样例对象

3.2 模式匹配

3.2.1 简单匹配

3.2.2 守卫

3.2.3 匹配类型

3.2.4 匹配集合

3.2.5 变量声明中的模式匹配

3.2.6 匹配样例类

3.3 Option类型

3.4 偏函数

3.5 正则表达式

3.6 异常处理

3.6.1 捕获异常

3.6.2 抛出异常

3.7 提取器

定义提取器

3.8 泛型

3.8.1 定义泛型方法

3.8.2 定义泛型类

3.8.3 上下界

3.8.4 非变、协变和逆变

3.9 Actor

3.9.1 Java并发编程的问题

3.9.2 Actor并发编程模型

3.9.3 Java并发编程与Actor并发编程

3.10 Actor编程案例

3.10.1 创建Actor

3.10.2 发送消息/接收消息

3.10.3 持续接收消息

3.10.4 共享线程

3.10.5 发送和接收自定义消息

3.10.6 基于Actor实现WordCount案例

3.11 本章总结

3.12 本章习题

第4章 Scala函数式编程思想

4.1 作为值的函数

4.2 匿名函数

4.3 柯里化

4.4 闭包

4.5 隐式转换

4.6 隐式参数

4.7 Akka并发编程框架

4.7.1 Akka特性

4.7.2 Akka通信过程

4.7.3 创建ActorSystem

4.8 Akka编程入门案例

4.8.1 实现步骤

4.8.2 配置Maven模块依赖

4.9 Akka定时任务

4.10 实现两个进程之间的通信

4.11 本章总结

4.12 本章习题

第5章 Spark安装部署与入门

5.1 Spark简介

5.1.1 MapReduce与Spark

5.1.2 Spark组件

5.1.3 Spark生态系统

5.1.4 Spark架构

5.1.5 Spark运行部署模式

5.1.6 Spark远程过程调用协议

5.2 Spark环境搭建

5.2.1 本地模式部署

5.2.2 Standalone集群模式

5.2.3 Standalone-HA集群模式

5.2.4 YARN集群模式

5.2.5 Spark命令

5.3 编写Spark应用程序

5.3.1 Maven简介

5.3.2 安装Maven

5.3.3 Spark开发环境搭建

5.3.4 配置pom.xml文件

5.3.5 开发应用程序——本地运行

5.3.6 修改应用程序——集群运行

5.3.7 集群硬件配置说明

5.4 本章总结

5.5 本章习题

第6章 SparkCore编程

6.1 RDD概念与详解

6.1.1 RDD简介

6.1.2 RDD的主要属性

6.1.3 小结

6.2 RDD API应用程序

6.3 RDD的方法(算子)分类

6.3.1 Transformation算子

6.3.2 Action算子

6.4 基础练习

6.4.1 实现WordCount案例

6.4.2 创建RDD

6.4.3 map

6.4.4 filter

6.4.5 flatMap

6.4.6 sortBy

6.4.7 交集、并集、差集、笛卡尔积

6.4.8 groupByKey

6.4.9 groupBy

6.4.10 reduce

6.4.11 reduceByKey

6.4.12 repartition

6.4.13 count

6.4.14 top

6.4.15 take

6.4.16 first

6.4.17 keys、values

6.4.18 案例

6.5 实战案例

6.5.1 统计平均年龄

6.5.2 统计人口信息

6.5.3 在IDEA中实现WordCount案例

6.5.4 小结

6.6 RDD持久化缓存

代码演示

6.7 持久化缓存API详解

6.7.1 persist方法和cache方法

6.7.2 存储级别

6.7.3 小结

6.8 RDD容错机制Checkpoint

6.8.1 代码演示

6.8.2 容错机制Checkpoint详解

6.9 本章总结

6.10 本章习题

第7章 SparkCore运行原理

7.1 RDD依赖关系

7.1.1 窄依赖与宽依赖

7.1.2 对比窄依赖与宽依赖

7.2 DAG的生成和划分阶段

7.2.1 DAG的生成

7.2.2 DAG划分阶段

7.2.3 小结

7.3 Spark原理初探

7.3.1 Spark相关的应用概念

7.3.2 Spark基本流程概述

7.3.3 流程图解

7.3.4 RDD在Spark中的运行过程

7.3.5 小结

7.4 RDD累加器和广播变量

7.4.1 累加器

7.4.2 广播变量

7.5 RDD的数据源

7.5.1 普通文本文件

7.5.2 Hadoop API

7.5.3 SequenceFile

7.5.4 对象文件

7.5.5 HBase

7.5.6 JDBC

7.6 本章总结

7.7 本章习题

第8章 Spark SQL结构化数据处理入门

8.1 数据分析方式

8.1.1 命令式

8.1.2 SQL式

8.2 Spark SQL的发展

8.3 数据分类和Spark SQL适用场景

8.3.1 结构化数据

8.3.2 半结构化数据

8.3.3 非结构化数据

8.4 Spark SQL特点

8.5 Spark SQL数据抽象

8.6 DataFrame简介

8.7 Dataset简介

8.8 RDD、DataFrame和Dataset的区别

8.9 Spark SQL初体验

8.9.1 SparkSession入口

8.9.2 创建DataFrame

8.9.3 创建Dataset

8.9.4 两种查询风格

8.10 本章总结

8.11 本章习题

第9章 Spark SQL结构化数据处理高级应用

9.1 使用IDEA开发Spark SQL

9.1.1 创建DataFrame和Dataset

9.1.2 花式查询

9.1.3 相互转换

9.1.4 Spark SQL词频统计实战

9.2 Spark SQL多数据源交互

9.3 Spark SQL自定义函数

9.3.1 自定义函数分类

9.3.2 UDF

9.3.3 UDAF

9.4 Spark on Hive

9.4.1 开启Hive的元数据库服务

9.4.2 Spark SQL整合Hive元数据库

9.4.3 使用Spark SQL操作Hive表

9.5 本章总结

9.6 本章习题

第10章 Spark Streaming核心编程

10.1 场景需求

10.2 Spark Streaming概述

10.2.1 Spark Streaming的特点

10.2.2 Spark Streaming实时计算所处的位置

10.3 Spark Streaming原理

10.3.1 基本流程

10.3.2 数据模型

10.4 DStream相关的API

10.4.1 Transformation

10.4.2 Output

10.5 Spark Streaming原理总结

10.6 Spark Streaming实战

Spark Streaming第一个案例WordCount

10.7 updateStateByKey算子

10.7.1 WordCount案例问题分析

10.7.2 代码实现

10.7.3 执行步骤

10.8 reduceByKeyAndWindow算子

10.8.1 图解reduceByKeyAndWindow算子

10.8.2 代码实现

10.8.3 执行步骤

10.9 统计一定时间内的热搜词

10.9.1 需求分析

10.9.2 代码实现

10.9.3 执行步骤

10.10 整合Kafka

10.10.1 Kafka基本概念

10.10.2 Kafka的特性

10.10.3 核心概念图解

10.10.4 Kafka集群部署

10.10.5 Kafka常用命令

10.10.6 Receiver接收方式

10.10.7 Direct直连方式

10.10.8 spark-streaming-kafka-0-8版本

10.10.9 spark-streaming-kafka-0-10版本

10.11 本章总结

10.12 本章习题

第11章 Spark综合项目实战

11.1 网站运营指标统计项目

11.1.1 需求分析

11.1.2 数据分析

11.1.3 代码实现

11.2 热力图分析项目

11.2.1 需求分析

11.2.2 数据分析

11.2.3 项目开发

11.3 本章总结

11.4 本章习题

Spark大数据实时计算:基于Scala开发实战是2022年由人民邮电出版社出版,作者杨力。

得书感谢您对《Spark大数据实时计算:基于Scala开发实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢
图解Spark:大数据快速分析实战 电子书
基于大数据分析实战,图文并茂,系统讲解Spark内核的原理,有助于读者快速掌握Spark开源集群计算框架的使用方法,涵盖Spark 3.0新特性。
大数据技术基础——基于Hadoop与Spark 电子书
将Hadoop和Spark组合起来进行剖析,呈现完整的大数据技术方案。
大数据开发项目实战 电子书
本书以项目案例为导向,贯穿讲解一个大数据的实战项目:广电大数据用户画像。全书共8章,具体内容包括大数据项目概述、Hadoop生态组件基础、广电大数据用户画像——需求分析、广电大数据用户画像——数据采集与预处理等。
Hadoop+Spark大数据技术 电子书
本书介绍Hadoop、Spark两种大数据处理框架,共12章,内容包括:Hadoop大数据开发环境、HDFS大数据分布式存储、MapReduce分布式计算框架、HBase分布式数据库、Scala基础编程、Spark大数据处理框架、Windows环境下Spark综合编程等。
Spark编程基础 (Scala版 第2版)(附微课视频) 电子书
本书以Scala作为开发Spark应用程序的编程语言,系统地介绍了Spark编程的基础知识。全书共9章,内容包括大数据技术概述、Scala语言基础、Spark的设计与运行原理、Spark环境搭建和使用方法、RDD编程、SparkSQL、SparkStreaming、StructuredStreaming和SparkMLlib。本书每章都安排了入门级的编程实践操作,以便使读者能更好地学习和更牢固地掌