栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

flink-概述

flink-概述

operator并行度相同+forward可合并,此时Task是一个operator chain,含main operator

时间/计数 滚动/滑动 注意滚动不重叠,滑动需指定滑动步长 会话窗口(一段时间无数据进入结束窗口)
Event/Ingestion/Window Processing Time,多用event time
watermark: 当event time=x的事件到达,认为event time=x-watermark的事件都到达了,注意不一定是event time
operator state: 如kakfa connector内的位点,keyed state:keyed stream 每一个key的state
重启:不重启/固定延迟/失败率(一段时间内失败次数到达阈值)
allowedLateness 和sideOutput:当watermark到达,触发窗口关闭,关闭后allowedLateness时间范围内还属于此窗口的数据输出到sideOutput

checkpoint流程:具体可见org.apache.flink.streaming.runtime.tasks.SubtaskCheckpointCoordinatorImpl#checkpointState
broadcast barrier
同步:snapshotState和构建future
异步:future内写持久化存储(DefaultOperatorStateBackendSnapshotStrategy)+ ack (表达我这个subTask checkpoint完成)

Task主线程
一般一个subTask只含有一个线程,SourceStreamTask 相对特殊,带有LegacySourceFunctionThread,两线程依靠checkpointLock同步,所有的mail(checkpoint,timer)和event处理都是同步的,注意Flink Source还有一个consumer Thread用于实际拉取消息
一般来说主线程循环处理mail和input(defaultAction- processInput, 处理一个元素),source特殊其processInput为启动LegacySourceFunctionThread(只会运行一次)

flink source(FlinkKafkaConsumer)
每个subTask通过assign分配具体partition
OffsetCommitModes: checkpoint打开,默认enableCommitOnCheckpoint,即checkpoint complete时提交offset
StartupMode 默认group_offsets,即flink任务启动从消费组已有的位点开始消费,我们经常配置latest直接从最新位点消费
snapshotState :内存里放入已经处理完毕的位点 (本质是保留state供重启后使用)
notifyCheckpointComplete:对应checkpoint的处理完毕位点commit

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/317084.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号