Spark大数据分析实战

副标题:无

作   者:张伟洋

分类号:

ISBN:9787302556954

微信扫一扫,移动浏览光盘

简介

本书作为Spark的入门书,从Spark核心编程语言Scala讲起,涵盖当前Spark主流的开发组件。以实操为主,深入讲解每一个操作步骤,包括Spark RDD离线数据处理、Spark SQL快速结构化数据处理、Spark Streaming实时数据处理,同时包括案例讲解、源码剖析、常用Shell命令和Java API详解。即使没有任何Spark基础的读者也可以对照书中的步骤成功搭建属于自己的Spark集群,是一本真正的实操指南书籍。本书可作为大数据开发人员的随身手册,也可作为Spark新手入门的指导书籍,以及大数据从业者的参考用书。

目录


第1章 Spark开发准备——Scala基础 1

1.1 什么是Scala 1

1.2 安装Scala 2

1.2.1 在Windows中安装Scala 2

1.2.2 在CentOS 7中安装Scala 3

1.3 Scala基础 4

1.3.1 变量声明 4

1.3.2 数据类型 5

1.3.3 表达式 7

1.3.4 循 环 8

1.3.5 方法与函数 10

1.4 集 合 14

1.4.1 数 组 14

1.4.2 List 16

1.4.3 Map映射 17

1.4.4 元 组 19

1.4.5 Set 20

1.5 类和对象 21

1.5.1 类的定义 21

1.5.2 单例对象 22

1.5.3 伴生对象 22

1.5.4 get和set方法 23

1.5.5 构造器 25

1.6 抽象类和特质 28

1.6.1 抽象类 28

1.6.2 特 质 30

1.7 使用Eclipse创建Scala项目 31

1.7.1 安装Scala for Eclipse IDE 31

1.7.2 创建Scala项目 33

1.8 使用IntelliJ IDEA创建Scala项目 33

1.8.1 在IDEA中安装Scala插件 34

1.8.2 创建Scala项目 37

第2章 初识Spark 40

2.1 大数据开发总体架构 40

2.2 什么是Spark 42

2.3 Spark主要组件 43

2.4 Spark运行时架构 45

2.4.1 YARN集群架构 45

2.4.2 Spark Standalone架构 49

2.4.3 Spark On YARN架构 50

2.5 Spark集群搭建与测试 53

2.5.1 Spark Standalone模式的集群搭建 53

2.5.2 Spark On YARN模式的集群搭建 55

2.5.3 Spark HA的搭建 56

2.6 Spark应用程序的提交 60

2.7 Spark Shell的使用 63

第3章 Spark RDD弹性分布式数据集 66

3.1 什么是RDD 66

3.2 创建RDD 67

3.2.1 从对象集合创建RDD 67

3.2.2 从外部存储创建RDD 68

3.3 RDD的算子 69

3.3.1 转化算子 69

3.3.2 行动算子 77

3.4 RDD的分区 78

3.4.1 分区数量 79

3.4.2 自定义分区器 88

3.5 RDD的依赖 93

3.5.1 窄依赖 94

3.5.2 宽依赖 94

3.5.3 Stage划分 95

3.6 RDD的持久化 97

3.6.1 存储级别 98

3.6.2 查看缓存 100

3.7 RDD的检查点 102

3.8 共享变量 104

3.8.1 广播变量 104

3.8.2 累加器 106

3.9 案例分析:Spark RDD实现单词计数 107

3.10 案例分析:Spark RDD实现分组求TopN 116

3.11 案例分析:Spark RDD实现二次排序 120

3.12 案例分析:Spark RDD计算成绩平均分 124

3.13 案例分析:Spark RDD倒排索引统计每日新增用户 126

3.14 案例分析:Spark RDD读写HBase 130

3.14.1 读取HBase表数据 131

3.14.2 写入HBase表数据 134

3.15 案例分析:Spark RDD数据倾斜问题解决 143

3.15.1 数据倾斜的常用解决方法 144

3.15.2 使用随机key进行双重聚合 145

3.15.3 WebUI查看Spark历史作业 149

第4章 Spark内核源码分析 151

4.1 Spark集群启动原理分析 151

4.2 Spark应用程序提交原理分析 162

4.3 Spark作业工作原理分析 175

4.3.1 MapReduce的工作原理 175

4.3.2 Spark作业工作的原理 177

4.4 Spark检查点原理分析 191

第5章 Spark SQL结构化数据处理引擎 196

5.1 什么是Spark SQL 196

5.2 DataFrame和Dataset 197

5.3 Spark SQL的基本使用 198

5.4 Spark SQL数据源 201

5.4.1 基本操作 201

5.4.2 Parquet文件 206

5.4.3 JSON数据集 209

5.4.4 Hive表 211

5.4.5 JDBC 213

5.5 Spark SQL内置函数 214

5.5.1 自定义函数 216

5.5.2 自定义聚合函数 218

5.5.3 开窗函数 220

5.6 案例分析:使用Spark SQL实现单词计数 223

5.7 案例分析:Spark SQL与Hive整合 228

5.7.1 整合Hive的步骤 228

5.7.2 操作Hive的几种方式 231

5.8 案例分析:Spark SQL读写MySQL 233

5.9 案例分析:Spark SQL每日UV统计 238

5.10 案例分析:Spark SQL热点搜索词统计 241

5.11 综合案例:Spark SQL智慧交通数据分析 244

5.11.1 项目介绍 244

5.11.2 数据准备 246

5.11.3 统计正常卡口数量 249

5.11.4 统计车流量排名前3的卡口号 249

5.11.5 统计车辆高速通过的卡口TOP5 250

5.11.6 统计每个卡口通过速度*快的前3辆车 254

5.11.7 车辆轨迹分析 255

第6章 Kafka分布式消息系统 256

6.1 什么是Kafka 256

6.2 Kafka架构 257

6.3 主题与分区 259

6.4 分区副本 260

6.5 消费者组 262

6.6 数据存储机制 264

6.7 集群环境搭建 266

6.8 命令行操作 268

6.8.1 创建主题 268

6.8.2 查询主题 269

6.8.3 创建生产者 269

6.8.4 创建消费者 270

6.9 Java API操作 271

6.9.1 创建Java工程 271

6.9.2 创建生产者 271

6.9.3 创建消费者 273

6.9.4 运行程序 275

6.10 案例分析:Kafka生产者拦截器 277

第7章 Spark Streaming实时流处理引擎 285

7.1 什么是Spark Streaming 285

7.2 Spark Streaming工作原理 286

7.3 输入DStream和Receiver 287

7.4 *个Spark Streaming程序 288

7.5 Spark Streaming数据源 290

7.5.1 基本数据源 290

7.5.2 高级数据源 292

7.5.3 自定义数据源 293

7.6 DStream操作 297

7.6.1 无状态操作 297

7.6.2 状态操作 299

7.6.3 窗口操作 300

7.6.4 输出操作 302

7.6.5 缓存及持久化 303

7.6.6 检查点 304

7.7 案例分析:Spark Streaming按批次累加单词数量 306

7.8 案例分析: Spark Streaming整合Kafka计算实时单词数量 311

7.9 案例分析:Spark Streaming实时用户日志黑名单过滤 318

7.10 综合案例:微博用户行为分析 322

第8章 Structured Streaming结构化流处理引擎 325

8.1 什么是Structured Streaming 325

8.2 Structured Streaming单词计数 326

8.3 Structured Streaming编程模型 328

8.4 Structured Streaming查询输出 330

8.5 Structured Streaming窗口操作 334

8.5.1 事件时间 334

8.5.2 窗口聚合单词计数 335

8.5.3 延迟数据和水印 339

8.6 案例分析:Structured Streaming整合Kafka实现单词计数 343

第9章 GraphX图计算引擎 347

9.1 什么是GraphX 347

9.2 *个GraphX程序 348

9.3 GraphX数据结构 352

9.4 GraphX图操作 352

9.4.1 基本操作 352

9.4.2 属性操作 355

9.4.3 结构操作 357

9.4.4 连接操作 359

9.4.5 聚合操作 362

9.5 案例分析:使用GraphX计算社交网络中粉丝的平均年龄 363


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Spark大数据分析实战
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon