课程大纲
培训内容 | 1. HDFS原理 1.1 HDFS架构 1.2 HDFS读写过程及最佳实践 1.3 MR与Spark使用HDFS最佳实践 1.4 Name node高可用方案 1.5 Name node水平扩展方案 2. Yarn原理 2.1 Yarn架构分析 2.2 资源分配与隔离最佳实践 2.3 资源调度与调优 2.4 基于标签的资源分配 2.5 Resource Manager高可用方案 3. Kafka架构 3.1 Kafka整体架构 3.2 Topic & Partition 3.3 Producer最佳实践 3.4 消息路由之自定义Partitioner 3.5 两种不同的Consumer用法 4. Kafka高可用原理 4.1 Kafka面临的CAP问题 4.2 高可用下的数据分发 4.3 动态平衡策略ISR 4.4 基于Zookeeper的领导选举方案(Controller) 4.5 Failover原理 5. Consumer Rebalance方案演进 5.1 为什么需要Rebalance 5.2 Rebalance实现的效果 5.3 自治式Rebalance原理及问题 5.4 集中式Rebalance实现原理(Consumer Coordinator) 5.5 应用程序如何处理Consumer Rebalance 6. Kafka Stream 6.1 Kafka Stream架构 6.2 Kafka Stream并发模型 6.3 实现Topology的两种方式 6.4 窗口和Join原理与可恢复性保障 6.5 适用场景 7. Kafka运维与如何实现正好一次 7.1 重新分配Replica 7.2 Preferred Replica Leader Election 7.3 两阶段提交实现正好一次 7.4 幂等操作实现正好一次 7.5 数据处理与offset管理放在同一事务实现正好一次 8. Kafka事务机制 8.1 幂等Producer原理 8.2 Kafka事务原理(Transaction Coordinator) 8.3 Kafka Stream中的事务 9. Spark原理(包含源码调试) 9.1 Spark架构 9.2 Job逻辑执行计划 9.3 Job物理执行计划 9.4 Spark transform与action 9.5 Spark Job的一生 10. Spark内存模型与调优 10.1 内存分配 10.2 堆外内存使用 10.3 Spark on Yarn内存分配最佳实践 11. Spark数据结构原理 11.1 RDD优劣势 11.2 DataFrame与Dataset 11.3 广播变量实现原理 11.4 累加器 12. Spark SQL 12.1 Spark SQL前世今生 12.2 例讲Spark SQL 12.3 Spark SQL数据源 12.4 Spark集成metastore 12.5 如何实现和使用自定义函数(UDF) 12.6 DataFrame vs. spark-sql vs. thrift server 12.7 Spark SQL实现原理(SQL引擎原理) 12.8 Spark SQL性能优化 13. Spark Streaming 13.1 例讲Spark Streaming 13.2 流式系统关键问题分析 13.3 Window操作 13.4 如何在流数据上做Join 13.5 Checkpoint机制 13.6 如何处理数据乱序问题 13.7 Spark Streaming容错机制 13.8 Spark与Kafka实现Exactly once 13.9 Spark Streaming vs. Storm vs. Kafka Stream 13.10 Spark Streaming性能优化 13.11 Structured Streaming 14. Structured Streaming 14.1 Structured Streaming vs. Spark Streaming 14.2 如何处理Event Time 14.3 如何实现Fault Tolerant 14.4 Watermark实现原理 14.5 三种输出模式及适用场景 15. 如何使用Spark解决机器学习问题 15.1 使用MLlib实现基本统计 15.2 如何使用ML Pipeline 15.3 如何使用MLlib进行特征工程 15.4 模型选择与调优 15.5 超参数调节 16. 例讲数据倾斜解决方案及案例 16.1 为何需要处理数据倾斜 16.2 调整并行度,分散同一Task的不同Key 16.3 自定义Partitioner,分散同一Task的不同Key 16.4 Map Join代替Reduce Join消除数据倾斜 16.5 为倾斜key增加随机前缀 16.6 大表增加随机前缀,小表扩容 |