Gay*_*tri 6 apache-flink flink-streaming
我正在研究构建一个没有数据接收器的 flink 管道。即,当我的管道成功对数据存储进行 api 调用时,它就会结束。
在这种情况下,如果我们不使用接收器运算符,检查点将如何工作?
因为检查点基于检查点前纪元(所有保存在状态中或发送到接收器中的事件)和检查点后纪元的概念。Flink 管道是否需要接收器?
是的,接收器是 Flink 执行模型的一部分:
Flink 中的 DataStream 程序是实现数据流转换(例如,过滤、更新状态、定义窗口、聚合)的常规程序。数据流最初是从各种源(例如消息队列、套接字流、文件)创建的。 结果通过接收器返回,例如可以将数据写入文件或标准输出(例如命令行终端)
有人可能会争辩说,对数据存储的调用是您可以使用的实际接收器实现。您可以定义自己的接收器并在那里执行数据存储调用。
我不热衷于您的数据存储的详细信息,但人们可以假设您正在序列化这些事件并以某种方式将它们发送到数据存储。在这种情况下,您可以将所有元素流向接收器运算符,并将每个元素存储在ListState可以连续卸载和发送的元素中。这样,如果您的应用程序需要升级,飞行记录将不会丢失,并且会在作业恢复后恢复并发送。
| 归档时间: |
|
| 查看次数: |
1232 次 |
| 最近记录: |