课程大纲
时间 | 模块 | 内容 |
第一天 | Spark技术栈介绍 | Spark-Core介绍 Spark SQL介绍 Spark Streaming介绍 Spark mllib介绍 Spark GraphX介绍 PySpark介绍 SparkR介绍 Spark3.0重要特性介绍 |
Spark编程模型和解析 | Spark的编程模型 Spark编程模型解析 Partition实现机制 RDD的特点、操作、依赖关系 Transformation RDD详解 Action RDD详解 Spark的累加器详解 Spark的广播变量详解 Spark容错机制 — lineage和checkpoint详解 Spark的运行方式 Spark的Shuffle原理详解 — Sort-Based原理 — Hash-Based原理 Spark Partition详解 | |
Spark SQL原理和实践 | Spark SQL原理 Spark SQL的Catalyst优化器 Spark SQL内核 Spark SQL和Hive连接 DataFrame和DataSet架构 Fataframe、DataSet和Spark SQL的比较 SparkSQL parquet格式实战 Spark SQL的实例和编程 Spark SQL的实例操作demo Spark SQL的编程 Spark SQL学员实操训练 | |
第二天 | Spark Streaming详解 | Spark Streaming原理 Spark Streaming的应用场景 Windows 窗口操作 DStream详解 Spark SQL on Spark Streaming详解 Structured Streaming介绍 Structured Streaming的水印操作 Structured Streaming+kafka应用实战 流式任务的痛点和注意点 流式任务数据延迟问题 流式任务作业性能问题 流式任务任务常见的处理方式 |
Spark性能优化实战 | 小文件优化 文件类型优化 常用算子比较和优化 RDD存储序列化 Spark DAG原理和优化 GC垃圾回收分析 减少任务使用内存 广播大变量 数据本地化 Spark shuffle原理和优化 Spark内存模型设计原理 Spark堆内内存管理 Spark堆外内存管理 Spark任务执行过程分析和资源占用详解 | |
Spark优化案例实战 | Spark SQL核心参数优化 自定义优化Spark SQL的解析和优化引擎 某银行spark任务执行过程分析实践 — 任务优化的步骤 — 通过运行日志和spark任务的Web UI监控查看任务运行慢的原因 — 小文件优化策略 — 文件格式、文件压缩格式的选型 — shuffle阶段的优化(减少数据量、修改shuffle的参数) — 数据倾斜的优化策略实战(常用4种解决方案) — Spark主要性能提升参数的实战 — 任务延迟调度的优化(调整资源调度策略) | |
Spark大数据案例分享 | Spark SQL日志分析实战 Spark在传统(金融和电信)行业的使用介绍 |