flink进阶富函数生命周期是什么

发布时间:2023-03-08 11:09:31 作者:iii
来源:亿速云 阅读:195

今天小编给大家分享一下flink进阶富函数生命周期是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

end-to-end exactly-once

exactly-once只能保证Flink内部状态的一致性。而这个语义主要依赖Checkpoint机制。

在外部交互的一致性则无法保证,端到端的Exactly-Once问题是分布式系统领域最具挑战性的问题之一,很多框架都在试图攻克这个难题。

Flink的exactly-once主要依赖Source和Sink提供的一些功能。Source需要支持重发功能,Sink需要采用一定的数据写入技术,比如幂等写或事务写。

对于Source重发功能,只要我们记录了输入的偏移量Offset,故障重启后数据发送方从该Offset重新开始发送数据即可。Kafka的Producer除了发送数据,还会将数据持久化写到日志文件中。如果下游应用重启,Producer根据下游提供的Offset,从持久化的文件中定位到数据,可以重新开始向下游发送数据。

Source的重发会导致一条数据被处理多次,为了保证只对下游系统产生一次影响,还需要依赖Sink的幂等写或事务写。

富函数

“富函数”是DataStream API提供的一个函数类的接口,所有Flink函数类都有其Rich版本。它与常规函数的不同在于,可以获取运行环境的上下文,并拥有一些生命周期方法,所以可以实现更复杂的功能。

富函数举例

**RichMapFunction **

**RichFlatMapFunction **

**RichFilterFunction **

Rich Function有一个生命周期的概念。典型的生命周期方法有:

这里可以做一些初始化工作,例如建立一个和数据源的连接

这里做一些清理工作,例如断开和数据源的连接。

其他的和FlatMapFunction算子的重写方法类似。

以上就是“flink进阶富函数生命周期是什么”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

推荐阅读:
  1. Flink on Yarn的部署和设置
  2. Flink中Transform怎么用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

flink

上一篇:Go语言中同一个package中函数互相调用为undefined如何解决

下一篇:基于Python如何实现彩票小游戏

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》