类似推荐
编辑推荐
基于大数据分析实战,图文并茂,系统讲解Spark内核的原理,有助于读者快速掌握Spark开源集群计算框架的使用方法,涵盖Spark 3.0新特性。
内容简介
本书结合大量原理图和流程图,系统介绍Spark内核的相关技术。本书注重实战,图文并茂,系统讲解了Spark内核的原理、Spark实战应用、Spark 数据源、Spark流式计算、Spark性能调优和数据湖等内容。通过本书,读者不仅可以深入理解解Spark的原理、应用、运维、监控等,还可以快速编写出性能更好、可靠性更高的大数据应用。
作者简介
作者王磊,阿里云MVP、易点天下大数据架构师,《Offer来了:Java面试核心知识点精讲(原理篇)》和《Offer来了:Java面试核心知识点精讲(框架篇)》的作者,极客时间每日一课专栏作者;喜欢读书和研究新技术,长期从事物联网和大数据研发工作;有十余年丰富的物联网及大数据研发和技术架构经验,对物联网及大数据的原理和技术实现有深刻理解;长期从事海外项目的研发和交付工作,对异地多活数据中心的建设及高可用、高并发系统的设计有丰富的实战经验。
章节目录
版权信息
内容提要
前言
作者简介
服务与支持
第1章 Spark概述及入门实战
1.1 Spark简介
1.1.1 为什么要学习Spark
1.1.2 学好Spark的关键点
1.1.3 Spark学习难点
1.1.4 本书编写思路
1.2 Spark原理及特点
1.2.1 Spark的核心优势
1.2.2 Spark生态介绍
1.2.3 Spark模块的组成
1.2.4 Spark运行模式
1.2.5 Spark集群的角色组成
1.2.6 Spark核心概念
1.2.7 Spark作业运行流程
1.3 Spark入门实战
1.3.1 Spark独立环境安装实战
1.3.2 YARN环境安装实战
1.3.3 Spark批处理作业入门实战
1.3.4 Spark流式作业入门实战
第2章 Spark的作业调度和资源分配算法
2.1 Spark的作业调度
2.1.1 Spark作业运行框架概述
2.1.2 Spark调度器原理
2.1.3 Spark应用程序的核心概念
2.1.4 Spark应用程序的调度流程
2.1.5 在YARN级别调度Spark作业
2.1.6 在任务级别调度Spark作业
2.1.7 本地化调度简介
2.1.8 本地化调度流程:延迟调度策略
2.1.9 Spark任务延迟调度
2.1.10 Spark失败重试与黑名单机制
2.1.11 推测执行
2.1.12 资源分配机制
2.2 Spark on YARN资源调度
2.2.1 Spark on YARN运行模式
2.2.2 YARN调度器
2.3 RDD概念
2.3.1 RDD简介
2.3.2 RDD的特点
2.4 RDD分区
2.4.1 分区的概念
2.4.2 分区器
2.4.3 自定义分区器
2.5 RDD依赖关系
2.6 Stage
2.7 RDD持久化
2.7.1 RDD持久化的概念
2.7.2 RDD持久化的使用
2.7.3 RDD持久化级别
2.7.4 RDD持久化原则
2.8 RDD检查点
2.9 RDD实战
2.9.1 编写一个简单的RDD演示程序
2.9.2 利用外部存储系统生成RDD
2.9.3 RDD支持Transformation操作和Action操作
2.9.4 RDD懒加载
2.9.5 Spark函数的3种实现方式
2.9.6 RDD操作中常用Transformation算子的原理及使用
2.9.7 RDD操作中常用Action算子的原理及使用
2.9.8 Spark广播变量的概念、好处和使用
第3章 Spark SQL、DataFrame、Dataset原理和实战
3.1 Spark SQL基础概念
3.1.1 Spark SQL介绍
3.1.2 Spark SQL查询语句介绍
3.1.3 DataFrame的概念
3.1.4 Dataset的概念
3.2 创建一个Spark SQL应用
3.3 Spark SQL视图操作
3.4 Spark Dataset操作
3.5 Spark DataFrame操作
3.5.1 DataFrame Schema设置
3.5.2 DataFrame数据加载
3.5.3 DataFrame数据保存
3.6 Spark SQL操作
3.6.1 Spark SQL表关联操作
3.6.2 Spark SQL函数操作
第4章 深入理解Spark数据源
4.1 Spark文件读写原理
4.1.1 Spark数据分布
4.1.2 Spark数据读取过程
4.1.3 Spark数据写出过程
4.2 Spark数据格式
4.2.1 TEXT
4.2.2 CSV
4.2.3 JSON
4.2.4 Parquet
4.2.5 ORC
4.2.6 AVRO
4.2.7 到底应该使用哪种数据格式
4.3 Spark读写HDFS
4.3.1 HDFS的概念和特点
4.3.2 HDFS架构
4.3.3 HDFS数据的写入和读取流程
4.3.4 HDFS的使用
4.4 Spark读写HBase
4.4.1 HBase的概念
4.4.2 HBase架构
4.4.3 HBase数据模型
4.4.4 HBase的使用
4.5 Spark读写MongoDB
4.5.1 MongoDB的概念
4.5.2 MongoDB数据模型
4.5.3 MongoDB架构
4.5.4 MongoDB的使用
4.6 Spark读写Cassandra
4.6.1 Cassandra的概念
4.6.2 Gossip协议
4.6.3 Cassandra数据模型
4.6.4 Cassandra架构
4.6.5 Cassandra的使用
4.7 Spark读写MySQL
4.8 Spark读写Kafka
4.8.1 Kafka的概念
4.8.2 Kafka集群架构
4.8.3 Kafka数据存储设计
4.8.4 Kafka消息并发设计
4.8.5 Kafka的使用
4.9 Spark读写ElasticSearch
4.9.1 ElasticSearch的概念
4.9.2 ElasticSearch数据模型
4.9.3 ElasticSearch集群架构
4.9.4 ElasticSearch副本架构
4.9.5 ElasticSearch的使用
第5章 流式计算原理和实战
5.1 Spark Streaming
5.1.1 Spark Streaming介绍
5.1.2 Spark Streaming入门实战
5.1.3 Spark Streaming的数据源
5.1.4 DStream
5.2 Spark Structured Streaming
5.2.1 Spark Structured Streaming介绍
5.2.2 Spark Structured Streaming的特点
5.2.3 Spark Structured Streaming的数据模型
5.2.4 创建一个Spark Structured Streaming应用
5.2.5 时间概念、延迟数据处理策略和容错语义
5.2.6 Spark Structured Streaming编程模型
5.2.7 在结构化数据流上执行操作
5.2.8 启动Spark Structured Streaming
5.2.9 Spark Structured Streaming结果输出
5.2.10 触发器
第6章 亿级数据处理平台Spark性能调优
6.1 内存调优
6.1.1 JVM内存调优
6.1.2 堆外内存设置
6.1.3 storageFraction设置
6.1.4 Spark JVM调优的最佳实践
6.2 任务调优
6.2.1 驱动器数量、内存及CPU配置
6.2.2 设置合理的并行度
6.2.3 任务等待时长调优
6.2.4 黑名单调优
6.3 数据本地性调优
6.3.1 数据本地化介绍
6.3.2 RDD的复用和数据持久化
6.3.3 广播变量
6.3.4 Kryo序列化
6.3.5 检查点
6.4 算子调优
6.4.1 使用mapPartitions()或mapPartitionWithIndex()函数取代map()函数
6.4.2 使用foreachPartition()函数取代foreach()函数
6.4.3 使用coalesce()函数取代repartition()函数
6.4.4 使用repartitionAndSortWithinPartitions()函数取代“重分区+排序”操作
6.4.5 使用reduceByKey()函数取代groupByKey()函数
6.4.6 连接不产生Shuffle:map-side关联
6.5 Spark SQL调优
6.6 Spark Shuffle调优
6.7 Spark Streaming调优
6.7.1 设置合理的批处理时间(batchDuration)
6.7.2 增加并行度
6.7.3 使用Kryo序列化器序列化数据
6.7.4 缓存经常需要使用的数据
6.7.5 清除不需要的数据
6.7.6 设置合理的CPU资源
6.7.7 设置合理的JVM GC
6.7.8 在处理数据前进行重分区
6.7.9 设置合理的内存
6.8 处理Spark数据倾斜问题
6.8.1 什么是数据倾斜
6.8.2 导致数据倾斜的原因是什么
6.8.3 如何判断Spark应用程序在运行中出现了数据倾斜
6.8.4 数据倾斜消除方案
第7章 Spark机器学习库
7.1 Spark机器学习概述
7.1.1 为什么要使用机器学习
7.1.2 机器学习的应用场景
7.1.3 机器学习的分类
7.1.4 机器学习算法
7.1.5 机器学习流程概述
7.1.6 数据探索
7.2 Spark机器学习常用统计方法
7.2.1 常用统计指标概述
7.2.2 Spark ML基础统计实战
7.2.3 Spark ML相关性分析
7.2.4 Spark ML数据抽样
7.3 Spark分类模型
7.3.1 分类模型介绍
7.3.2 线性回归
7.3.3 逻辑回归
7.3.4 朴素贝叶斯
7.3.5 决策树
7.4 协同过滤
7.5 Spark聚类模型
7.5.1 聚类模型的概念
7.5.2 聚类分析算法
7.5.3 k-均值算法模型
第8章 Spark 3.0的新特性和数据湖
8.1 Spark 3.0新特性概述
8.1.1 AQE
8.1.2 Spark SQL的新特性
8.1.3 Koalas和增强的PySpark
8.1.4 数据湖
8.1.5 Hydrogen、流和可扩展性
8.1.6 Spark 3.0的其他新特性
8.2 Spark未来的趋势
8.2.1 为什么需要数据湖
8.2.2 Delta Lake
8.2.3 Delta Lake实战
术语的中英文对照表
图解Spark:大数据快速分析实战是2022年由人民邮电出版社出版,作者王磊。
得书感谢您对《图解Spark:大数据快速分析实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。