(超全整理)Flink实时大数据知识结构图
2021-10-24 00:29:30 2 举报
AI智能生成
Flink流处理的基础核心概念知识结构解析
作者其他创作
大纲/内容
构建实时数仓
架构设计
建模规范
参考离线数仓
开发规范
UDF
任务开发
任务发布
开发流程
需求管理
划分数据域,明确统计指标,构建业务总线
技术方案设计
数据流程
技术架构
稳定性保障
回刷周期
分工与排期
风险点
运维
任务等级划分
监控
报警处理
应用场景
实时大屏
实时BI报表
监控预警
算法特征(实时推荐)
Flink基本概念
概念
流数据
有界流
无界流
数据处理流程
并行处理
状态
累计运算
实现容错
时间与窗口
时间类型
事件时间
摄取时间
处理时间
窗口
有界限窗口
滚动窗口
时间驱动
计数驱动
滑动窗口
时间驱动
计数驱动
会话窗口
无界限窗口-Over窗口
水位线(WaterMark)
概念
使用方式
状态与容错
有状态计算
概念
应用案例
sum求和
去重计算
模式检测
State管理
状态存储(StateBackend)
持久化到外部存储
在计算过程中可被访问
Backends方式
1)纯内存:MemoryStateBackend,适用于验证、测试,不推荐生产环境。
2)内存+文件:FsStateBackend,适用于长周期大规模的数据。
3)RocksDB:RocksDBStateBackend,适用于长周期大规模的数据。
状态重分布
状态的清理
● 过期时间:超过多长时间未访问,视为State过期,类似于缓存
● 过期时间更新策略:创建和写时更新、读取和写时更新
● State的可见性: 未清理可用,超期则不可用
容错
Exactly-Once
检查点(CheckPoint)
检查点分界线(Checkpoint Barrier)
Barrier对齐
保存点(SavePoint)
检查点和保存点的差异
重启策略
自动检查点恢复
固定间隔,定期恢复(Fixed delay)
失败率(Failure rate)
无重启,直接失败(No restart)
手动检查点恢复
Flink架构
Client
JobManager
ResourceManager
Dispatcher
JobMaster
TaskManager
task slot
算子链
并行度
Operator Level(算子层面)
Execution Environment Level(执行环境层面)
Client Level(客户端层面)
System Level(系统层面)
FlinkSQL
why FlinkSQL
适合数据分析,SQL在离线体系中已经十分成熟
技术门槛相对较低,不用学习各种底层的API也可上手
借助Calcite的SQL优化器,更易于优化
Dynamic Table(动态表)
持续查询
状态大小
计算中更新
持续查询与动态表
关联查询(Join)
常规Join(Regular Join)
时间窗口Join(Interval Join):限制特定时间的数据集做关联
时态表Join(Temporal Table Join):关联维度表
流批一体
why
开发隔离:流批表schema不同,计算逻辑不同
重复资源:重复计算,重复存储
流批数据口径不一致
维护不同:不同的平台,不同的计算引擎,两边都需要维护
what
存储一体:流批数据共用同一套存储体系,读写保持一致
计算一体:流批任务共用同一套处理逻辑&代码,目前仍处于设想阶段
产品一体:同一平台管理流和批数据
0 条评论
下一页