![]()
内容推荐 本书系统讲述Apache Spark/PySpark大数据计算平台的原理,以及如何将Apache PySpark应用于大数据的实时流处理、批处理等场景。通过对原理的深入讲解和对实践示例、案例的讲解,使读者了解并掌握Apache Spark/PySpark的基本原理和技能,拉近理论与实践的距离。 全书共分为8章,主要内容包括Spark架构原理与集群搭建、开发和部署PySpark应用程序、PySpark核心编程、PySpark SQL、PySpark结构化流、PySpark大数据分析综合案例。本书源码全部在Apache Spark 3.1.2上调试成功,所有示例和案例均基于Python 3.x语言。 为降低读者学习大数据技术的门槛,本书除提供了丰富的上机实践操作和详细的范例程序讲解之外,还提供了搭建好的Hadoop、Hive数据仓库和PySpark大数据开发和学习环境。读者既可参照本书的讲解自行搭建Hadoop和PySpark环境,也可直接使用本书提供的开发和学习环境,快速开始大数据和PySpark的学习。 本书内容全面、实例丰富、可操作性强,做到了理论与实践相结合。本书适合大数据学习爱好者、想要入门Apache Spark/PySpark的读者作为入门和提高的技术参考书,也适合用作高等院校大数据专业相关课程的教材或教学参考书。 作者简介 辛立伟,一个在IT领域摸爬滚打二十多年的老程序员、技术培训师、技术作者。横跨Java、数据库、大数据开发与分析、人工智能等多个领域,参与多个IT项目的架构设计与开发。长期坚持撰写技术博客,曾在多个大学讲授Java开发、数据库和大数据技术课程,曾担任中国石油大学(青岛校区)等多所院校的外聘讲师。 目录 第1章 Spark架构原理与集群搭建(回78min) 1.1 Spark简介 1.2 Spark技术找 1.2.1 Spark Core 1.2.2 Spark SQL 1.2.3 Spark Streaming和Structured Streaming 1.2.4 Spark MLlib 1.2.5 Spark GraphX 1.2.6 SparkR 1.3 Spark和PySpark架构原理 1.3.1 Spark集群和资源管理系统 1.3.2 Spark应用程序 1.3.3 Spark Driver和Executor 1.3.4 PySpark架构 1.4 Spark程序部署模式 1.5 安装和配置Spark集群 1.5.1 安装Spark 1.5.2 了解Spark目录结构 1.5.3 配置Spark/PySpark集群 1.5.4 验证PySpark安装 1.6 配置Spark历史服务器 1.6.1 历史服务器配置 1.6.2 启动Spark历史服务器 1.7 使用PySpark Shell进行交互式分析 1.7.1 运行模式--master 1.7.2 启动和退出PySpark Shell 1.7.3 PySpark Shell常用命令 1.7.4 SparkContext和SparkSession 1.7.5 Spark Web UI 1.8 使用spark-submit提交PySpark应用程序 1.8.1 spark-submit指令的各种参数说明 1.8.2 提交pi.ipynb程序,计算圆周率x值 1.8.3 将PySpark程序提交到YARN集群上执行 第2章 开发和部署PySpark应用程序 2.1 使用PyCharm开发PySpark应用程序 2.1.1 准备数据文件 2.1.2 安装PyCharm 2.1.3 创建一个新的PyChamm项目 2.1.4 安装PySpark包 2.1.5 创建PySpark应用程序 2.1.6 部署到集群中运行 2.2 使用Zeppelin进行交互式分析 2.2.1 下载Zeppelin安装包 2.2.2 安装和配置Zeppelin 2.2.3 配置Spark/PySpark解释器 2.2.4 创建和执行Notebook文件 2.3 使用Jupyter Notebook进行交互式分析 2.3.1 配置PySpark Driver使用Jupyter Notebook 2.3.2 使用findSpark包 第3章 PySpark核心编程 3.1 理解数据抽象RDD 3.2 RDD编程模型 3.2.1 单词计数应用程序 3.2.2 理解SparkSession 3.2.3 理解SparkContext 3.3 创建RDD 3.3.1 将现有的集合并行化以创建RDD 3.3.2 从存储系统读取数据集以创建RDD 3.3.3 从已有的RDD转换得到新的RDD 3.3.4 创建RDD时指定分区数量 3.4 操作RDD 3.4.1 RDD上的Transformation和Action 3.4.2 RDD Transformation操作 3.4.3 RDD Action操作 3.4.4 RDD上的描述性统计操作 3.5 Key-Value Pair RDD 3.5.1 创建Pair RDD 3.5.2 操作Pair RDD 3.5.3 关于reduceByKey()操作 3.5.4 关于aggregateByKey()操作 3.5.5 关于combineByKey()操作 3.6 持久化RDD 3.6.1 缓存RDD 3.6.2 RDD缓存策略 3.6.3 检查点RDD 3.7 数据分区 3.7.1 获取和指定RDD分区数 3.7.2 调整RDD分区数 3.7.3 内置数据分区器 3.7.4 自定义数据分区器 3.7.5 避免不必要的shuffling 3.7.6 基于数据分区的操作 3.8 使用共享变量 3.8.1 广播变量 3.8.2 累加器 3.9 PySpark RDD可视化 3.10 PySpark RDD编程案例 3.10.1 合并小文件 3.10.2 二次排序实现 3.10.3 Top N实现 3.10.4 数据聚合计算 第4章 PySpark SQL(初级) 4.1 PySpark SQL数据抽象 4.2 PySpark SQL编程模型 4.3 程序入口SparkSession 4.4 PySpark SQL中的模式和对象 4.4.1 模式 4.4.2 列对象和行对象 4.5 简单构造DataFrame 4.5.1 简单创建单列和多列DataFrame 4.5.2 从RDD创建DataFrame 4.5.3 读取外部数据源创建DataFrame 4.6 操作DataFrame 4.6.1 列的多种引用方式 4.6.2 对DataFrame执行Transformation转换操作 4.6.3 对DataFrame执行Action操作 4.6.4 对DataFrame执行描述性统计操作 4.6.5 提取DataFrame Row中特定字段 4.6.6 操作DataFrame示例 4.7 存储DataFrame 4.7.1 写出DataFrame 4.7.2 存储模式 4.7.3 控制DataFrame的输出文件数量 4.7.4 控制DataFrame实现分区存储 4.8 临时视图与SQL查询 4.8.1 在PySpark程序中执行SQL语句 4.8.2 注册临时视图并执行SQL查询 4.8.3 使用全局临时视图 4.8.4 直接使用数据源注册临时视图 4.8.5 查看和管理表目录 4.9 缓存DataFrame 4.9.1 缓存方法 4.9.2 缓存策略 4.9.3 缓存表 4.10 PySpark SQL可视化 4.10.1 PySpark DataFrame转换到Pandas 4.10.2 PySpark SQL DataFrame可视化 4.11 PySpark SQL编程案例 4.11.1 实现单词计数 4.11.2 用户数据集分析 4.11.3 航空公司航班数据集分析 第5章 PySpark SQL(高级) 5.1 P |