作品简介

本书基于Spark 2.4.x新版本编写,从Spark核心编程语言Scala讲起,涵盖当前整个Spark生态系统主流的大数据开发技术。全书共9章,第1章讲解Scala语言的基础知识,包括IDEA工具的使用等;第2章讲解Spark的主要组件、集群架构原理、集群环境搭建以及Spark应用程序的提交和运行;第3~9章讲解离线计算框架Spark RDD、Spark SQL和实时计算框架Kafka、Spark Streaming、Structured Streaming以及图计算框架GraphX等的基础知识、架构原理,同时包括常用Shell命令、API操作、内核源码剖析,并通过多个实际案例讲解各个框架的具体应用以及与Hadoop生态系统框架Hive、HBase、Kafka的整合操作。

本书内容丰富,以实操案例为主,理论为辅,可作为Spark新手的入门书,也可作为大数据开发人员和从业者的学习用书,还可以作为培训机构或大中专院校的教学用书。

张伟洋,大数据领域资深专家,拥有多年顶尖互联网公司软件研发经验,曾在互联网旅游公司任软件研发事业部经理。目前从事大数据项目讲师工作,先后多次给各大高校举行大数据专题讲座,对Hadoop及周边大数据框架ZooKeeper、Hive、HBase、Storm、Spark、Flink等有着深入的研究。高等院校云计算与大数据专业课改教材《云计算与大数据概论》《大数据开发与应用》的主要编写者。

作品目录

  • 内容简介
  • 作者简介
  • 前言
  • 第1章 Spark开发准备——Scala基础
  • 1.1 什么是Scala
  • 1.2 安装Scala
  • 1.3 Scala基础
  • 1.4 集合
  • 1.5 类和对象
  • 1.6 抽象类和特质
  • 1.7 使用Eclipse创建Scala项目
  • 1.8 使用IntelliJ IDEA创建Scala项目
  • 第2章 初识Spark
  • 2.1 大数据开发总体架构
  • 2.2 什么是Spark
  • 2.3 Spark主要组件
  • 2.4 Spark运行时架构
  • 2.5 Spark集群搭建与测试
  • 2.6 Spark应用程序的提交
  • 2.7 Spark Shell的使用
  • 第3章 Spark RDD弹性分布式数据集
  • 3.1 什么是RDD
  • 3.2 创建RDD
  • 3.3 RDD的算子
  • 3.4 RDD的分区
  • 3.5 RDD的依赖
  • 3.6 RDD的持久化
  • 3.7 RDD的检查点
  • 3.8 共享变量
  • 3.9 案例分析:Spark RDD实现单词计数
  • 3.10 案例分析:Spark RDD实现分组求TopN
  • 3.11 案例分析:Spark RDD实现二次排序
  • 3.12 案例分析:Spark RDD计算成绩平均分
  • 3.13 案例分析:Spark RDD倒排索引统计每日新增用户
  • 3.14 案例分析:Spark RDD读写HBase
  • 3.15 案例分析:Spark RDD数据倾斜问题解决
  • 第4章 Spark内核源码分析
  • 4.1 Spark集群启动原理分析
  • 4.2 Spark应用程序提交原理分析
  • 4.3 Spark作业工作原理分析
  • 4.4 Spark检查点原理分析
  • 第5章 Spark SQL结构化数据处理引擎
  • 5.1 什么是Spark SQL
  • 5.2 DataFrame和Dataset
  • 5.3 Spark SQL的基本使用
  • 5.4 Spark SQL数据源
  • 5.5 Spark SQL内置函数
  • 5.6 案例分析:使用Spark SQL实现单词计数
  • 5.7 案例分析:Spark SQL与Hive整合
  • 5.8 案例分析:Spark SQL读写MySQL
  • 5.9 案例分析:Spark SQL每日UV统计
  • 5.10 案例分析:Spark SQL热点搜索词统计
  • 5.11 综合案例:Spark SQL智慧交通数据分析
  • 第6章 Kafka分布式消息系统
  • 6.1 什么是Kafka
  • 6.2 Kafka架构
  • 6.3 主题与分区
  • 6.4 分区副本
  • 6.5 消费者组
  • 6.6 数据存储机制
  • 6.7 集群环境搭建
  • 6.8 命令行操作
  • 6.9 Java API操作
  • 6.10 案例分析:Kafka生产者拦截器
  • 第7章 Spark Streaming实时流处理引擎
  • 7.1 什么是Spark Streaming
  • 7.2 Spark Streaming工作原理
  • 7.3 输入DStream和Receiver
  • 7.4 第一个Spark Streaming程序
  • 7.5 Spark Streaming数据源
  • 7.6 DStream操作
  • 7.7 案例分析:Spark Streaming按批次累加单词数量
  • 7.8 案例分析:Spark Streaming整合Kafka计算实时单词数量
  • 7.9 案例分析:Spark Streaming实时用户日志黑名单过滤
  • 7.10 综合案例:微博用户行为分析
  • 第8章 Structured Streaming结构化流处理引擎
  • 8.1 什么是Structured Streaming
  • 8.2 Structured Streaming单词计数
  • 8.3 Structured Streaming编程模型
  • 8.4 Structured Streaming查询输出
  • 8.5 Structured Streaming窗口操作
  • 8.6 案例分析:Structured Streaming整合Kafka实现单词计数
  • 第9章 GraphX图计算引擎
  • 9.1 什么是GraphX
  • 9.2 第一个GraphX程序
  • 9.3 GraphX数据结构
  • 9.4 GraphX图操作
  • 9.5 案例分析:使用GraphX计算社交网络中粉丝的平均年龄
展开全部