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