作品简介

本书基于Spark3.2.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等有深入的研究,公众号“奋斗在IT”的创办人。已出版《Hadoop大数据技术开发实战》《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项目
  • 1.9 动手练习
  • 第2章 初识Spark
  • 2.1 大数据开发的总体架构
  • 2.2 什么是Spark
  • 2.3 Spark的主要组件
  • 2.4 Spark运行架构
  • 2.5 Spark集群搭建与测试
  • 2.6 Spark应用程序的提交
  • 2.7 Spark Shell的使用
  • 2.8 动手练习
  • 第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数据倾斜问题的解决
  • 3.16 动手练习
  • 第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智慧交通数据分析
  • 5.12 动手练习
  • 第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生产者拦截器
  • 6.11 动手练习
  • 第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 综合案例:微博用户行为分析
  • 7.11 动手练习
  • 第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实现单词计数
  • 8.7 动手练习
  • 第9章 GraphX图计算引擎
  • 9.1 什么是GraphX
  • 9.2 第一个GraphX程序
  • 9.3 GraphX数据结构
  • 9.4 GraphX图操作
  • 9.5 案例分析:使用GraphX计算社交网络中粉丝的平均年龄
  • 9.6 动手练习
展开全部