Flink基础

Flink
architecture

job manager is master

task managers are workers

task slot is a unit of resource in cluster, number of slot is equal to number of cores(超线程则slot=2*cores), slot=一组内存+一些线程+共享CPU

when starting a cluster,job manager will allocate a certaion number of slots to each taskManager in cluster,

each slots can run one parallel instance of a task or operator
tasks as a basic unit of work execution physically

each task corresponds to a logical reperesentation of data processiong (entire job chain excution )

a subtask represents some operators physically. which is concrete and excutable with other subtasks run in paralle in the same task slot,Flink will process the excution by chaining compatible oeprators if can be chained in same slot to reduce data shuffling
Subtask 是 Flink 作业中 Operator 的并行实例。每个 Operator 都可以拥有一个或多个 subtask,这些 subtask 是并行执行的,运算符子任务(subtask)的数量是该特定运算符的并行度

subtask scheduling

if parallelism is 6, six parallel instances will go across the available task slots.

Flink will process the excution by chaining compatible oeprators if can be chained in same slot to reduce data shuffling

if key by,then all data with same key will be processed in the same slot for accurate state management

**key by group by or window operation need data shuffling(**data movement between nodes)

operator会被chain在同一subtask的情况

(1)手动设置setChainingStrategy(ChainingStrategy.ALWAYS)

.map(x => x * 2)

.filter(x => x > 2)

.setChainingStrategy(ChainingStrategy.ALWAYS)

(2)keyby分区后,相同数据的后续所有操作都在同一个subtask中

keyBy(keySelector).map(...).filter(...) .print();

(3)并行度相同的operators通常可能被chain在一起减少data shuffling

flink Window窗口

在一个无界流中设置起始位置和终止位置,让无界流变成有界流,并且在有界流中进行数据处理,流批转化

  • window窗口在无界流中设置起始位置和终止位置的方式可以有两种 ,基于时间或者基于窗口数据量,
  • 分组和未分组窗口。自定义窗口
  • 时间窗口:
  • 滚动窗口: 数据不重复
  • 滑动窗口:数据有重复
  • 窗口聚合函数:
  • 增量聚合:ReduceFunction、AggregateFunction
  • 全量聚合 ProcessWindowFunction、WindowFunction属于全量窗口函数
相关推荐
龙亘川13 小时前
2025 年中国养老机器人行业全景分析:技术演进、市场格局与商业化路径
大数据·人工智能·机器人
Elastic 中国社区官方博客13 小时前
Elasticsearch:在隔离环境中安装 ELSER 模型
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
第二只羽毛13 小时前
订餐系统的代码实现
java·大数据·开发语言
zhongtianhulian14 小时前
江苏设备管理平台哪家好
大数据·运维·python
跨境卫士—小依14 小时前
深耕 Ozon:俄罗斯电商精准盈利的核心玩法
大数据·人工智能·矩阵·跨境电商·亚马逊·防关联
Dxy123931021614 小时前
Elasticsearch删除数据介绍
大数据·elasticsearch·搜索引擎
云飞云共享云桌面14 小时前
佛山某机械加工设备工厂10个SolidWorks共享一台服务器的软硬件
大数据·运维·服务器·前端·网络·人工智能·性能优化
百胜软件@百胜软件15 小时前
财务对账提速80%:高并发场景下的快消网销数据治理实践
大数据·人工智能·零售
科技与数码16 小时前
国产MATLAB替代软件的关键能力与生态发展现状
大数据·人工智能·matlab
梦里不知身是客1116 小时前
flink运行的一个报错
大数据·flink