Flink大数据实时计算系统实践


Flink大数据实时计算系统实践


课程简介:

本次的课程主要包括三大部分:

  1. Flink基本原理概述。指导学员了解并掌握Flink使用过程中设计到的基本概念和简要API,介绍大数据实时流计算相关生态体系,着重梳理清楚Flink上下游体系,掌握Flink的核心技术原理,建立大数据实时流计算的方法论思维。
  2. Flink实战生产技术。从实战出发,围绕实时流计算业务场景分析、基本编程模型、高级特性等系统性介绍Flink实时流计算的实战技术,使得学员具备研发Flink实时流计算相关应用的基础能力。
  3. Druid是一款支持数据实时写入、低延时、高性能的OLAP引擎,具有优秀的数据聚合能力与实时查询能力。在大数据分析、实时计算、监控等领域都有特定的应用场景,是大数据基础架构建设中重要的一环。本次课程我们将介绍Druid的核心特性与原理,以及在性能调优以及最佳实践经验。

面向人群:

  1. 希望学习大数据实时流计算和实时OLAP的学生;
  2. 希望了解大数据实时流计算和OLAP实战技术的IT从业人员;
  3. 未来希望成为大数据实时流计算的求职者;
  4. 想在大数据实时流计算方向和OLAP方面进行深入研究者。

学习收益:

通过本课程的学习,学员将会收获:

  1. 学员将系统性的了解并掌握大数据实时流计算的基本技术原理,结合Flink的生产技术案例,可基本实现独立开发、业务场景分析能力;
  2. 了解大数据实时流计算上下游生态;
  3. 理解Druid基础特性与正确使用方式,基本工作原理,并了解Druid面向的问题域以及典型的使用场景;
  4. 对有志于从事大数据实时流计算以及OLAP研发的学员,提供系统实现原理的讲解与指导。

【课程内容】

第一课: Flink基本概念与部署

  1. Flink 简介
  2. 编程模型
  3. 运行时概念
  4. 应用部署与原理
    a. 部署模式
    b. On-Yarn 启动设置与原理
    c. Job 启动设置与原理

第二课: DataStream

  1. DataStreamContext环境
  2. 数据源(DataSource)
  3. 转化(Transformation)
  4. 数据Sink

第三课:Window & Time

  1. Window介绍
    a. 为什么要有Window
    b. Window类型
  2. Window API的使用
    a. Window的三大组件
    b. Time&watermark
    c. 时间语义
    d. 乱序问题解决WaterMark
    e. AllowLateness正确设置与理解
    f. Sideoutput在Window中的使用
  3. Window的内部实现原理
    a. Window的处理流程
    b. Window中的状态存储
  4. 生产环境中的Window使用遇到的一些问题

第四课: Connector

  1. 基本Connnector
  2. 自定义Source 与 Sink
    a. Kafka简介
    b. Kafka Consumer 与Sink 的正确使用方式
    c. Kafka-Connector 内部机制与实现原理

第五课: 状态管理与恢复机制

  1. 1. 基本概念
  2. 2. KeyState 基本类型及用法
  3. a. ValueState
  4. b. ListState
  5. c. ReduceState
  6. d. FoldState
  7. e. AggregatingState
  8. 3. OperatorState基本用法
  9. 4. Checkpoint
  10. a. 概念
  11. b. 开启checkpoint
  12. c. 基本原理

第六课: Metrics 与监控

  1. Metrics的种类
  2. Metrics的获取方式
    a. Web Ui
    b. Rest API
    c. MetricReporter
  3. 用户自定义Metric指标方式
  4. 监控和诊断:Metric和Druid 实时OLAP联合使用
    a. Metric上报
    b. Metric指标聚合
    c. Metric的分类和格式定义
  5. Druid查询和指标系统
    a. Flink作业反压监控
    b. Flink作业的延迟监控
    c. 其他
  6. Metric系统的内部实现
  7. 生产环境中的案例分析 — 通过指标来排查应用问题

第七课: Flink应用案例介绍

  1. 数据清洗:map/flatmap等
  2. 监控告警系统
    a. 数据拉平
    b. 基础窗口计算等
  3. 线上运营系统
  4. 风控系统

第八课:Druid基本概念与架构设计

  1. Druid与OLAP VS Kylin、ES等
  2. Druid与指标系统 VS 各种时序数据库
  3. Druid特性
  4. 基本架构:角色节点与基本职责
    a. 角色行为
    b. 角色暴露的API
  5. 基本架构:外部依赖
    a. MySQL数据结构
    b. ZK数据结构
    c. HDFS数据结构

第九课: Druid数据写入与查询

  1. 数据流向与存储格式
    a. 数据写入流程
    b. 存储与索引格式
  2. 实时数据写入
    a. Firehose
    b. Realtime Node
    c. Index-Service原理介绍
    d. Tranquility原理介绍
    e. Kafka-index-service原理
  3. 离线数据写入
    a. Indexer
    b. MR Indexer
  4. 查询模式与查询类型介绍

第十课: Druid实践介绍

  1. 容错设计
  2. 指标监控
    a. 基于Graphite搭建指标监控系统
    b. 重要的指标项
  3. 运维实践
    a. 数据修复
    b. 集群升级实践
    c. Segment元数据管理
    d. JVM调优
    c. 资源隔离

相关资源

发表评论

点 击 提 交