展开全部

主编推荐语

基于大数据分析实战,图文并茂,系统讲解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实战
  • 术语的中英文对照表
展开全部

评分及书评

评分不足
2个评分
  • 用户头像
    给这本书评了
    5.0

    本书共 8 章,内容主要包括 Spark 概述及入门实战,Spark 的作业调度和资源分配算法,Spark SQLDataFrameDataset 的原理和实战,深入理解 Spark 数据源,流式计算的原理和实战,亿级数据处理平台 Spark 性能调优,Spark 机器学习库,Spark 3.0 的新特性和数据湖等。本书适合 Spark 开发人员和 Spark 运维人员阅读。

      转发
      评论

    出版方

    人民邮电出版社

    人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。