科技
类型
可以朗读
语音朗读
274千字
字数
2022-02-01
发行日期
展开全部
主编推荐语
基于大数据分析实战,图文并茂,系统讲解Spark内核的原理,有助于读者快速掌握Spark开源集群计算框架的使用方法,涵盖Spark 3.0新特性。
内容简介
本书共8章,内容主要包括Spark概述及入门实战,Spark的作业调度和资源分配算法,Spark SQL、DataFrame、Dataset的原理和实战,深入理解Spark数据源,流式计算的原理和实战,亿级数据处理平台Spark性能调优,Spark机器学习库,Spark 3.0的新特性和数据湖等。 本书适合Spark开发人员和Spark运维人员阅读。
目录
- 版权信息
- 内容提要
- 前言
- 作者简介
- 服务与支持
- 第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实战
- 术语的中英文对照表
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。