当前位置: 首页 > 知识库问答 >
问题:

从水印角度看Flink开发人员的角色

蒙墨竹
2023-03-14

我是Flink的新手,偶然看到一篇文章提到

“flink开发人员负责通过在流中安排水印来向前移动事件时间”。

所以,我想出了可能的答案。据我所知,如果我指示程序每隔5秒发出水印。实际上,每隔5秒,Flink就会调用AssignerSusPerstrodic水印getMONtWatermark()方法。如果该方法返回一个时间戳大于前一个水印的时间戳的非空值,则会转发新的水印。此检查对于确保事件时间不断增加是必要的;否则,不会产生水印。

因此,一旦窗口中的所有内容都到达,它将触发操作符,并相应地进行计算,那么处理函数的作用是什么?水印只能由processfunctions使用,对吗?

共有1个答案

汪高岑
2023-03-14

你所说的周期性水印是正确的。但通常我会建议将自动水印间隔保留在其默认值200毫秒;将其设置为5秒将为管道增加5秒的延迟。

在Flink的API的最低级别上,水印用于触发事件时间计时器,而事件时间计时器仅在流程函数中公开。流程函数是实现事件驱动应用程序的基本构建块。您将直接挂接到主事件循环中,处理每个可用的事件。您还可以访问容错、低延迟、可扩展的状态存储和计时器。

在DataStream API的较高级别,水印用于触发事件时间窗口,并由CEP(在进行模式匹配之前对流进行排序)使用。水印还在Table/SQLAPI中按窗口、间隔连接、时间连接和MATCH_RECOGNIZE使用。在所有这些情况下,这些时间运算符使用水印来观察事件时间的进展,以便在这些结果准备就绪时发出结果,然后释放不再有用的状态。

 类似资料:
  • 问题内容: 我对Linux文件系统比较陌生,所以请您能帮我吗?我必须使用Ubuntu编写一个示例C ++项目(测试)。 您可以从开发人员的角度来说明一下文件/文件夹结构吗?以下是一些我想回答的问题: 项目的典型位置在哪里(源,目标文件等)? 开发环境的典型位置(Eclipse,QT Creator等)在哪里? 图书馆的典型地方在哪里?二进制文件和仅标头的库有不同的位置吗? 各种开发工具(代码分析器

  • 问题内容: Maven的支持与,但是,我看到有效的作用,并没有定论。 这些角色只是出于文档目的的纯文本吗?如果没有可供选择的正式角色列表,是否存在有关如何设置角色名称格式的规则或标准? 例如,是UI开发人员a ,a ,a 等。 问题答案: 这就是我在XSD中看到的。角色只是简单的,主要用于文档。

  • 我试图为AWS实现“开发人员身份验证身份”,如下所示:https://AWS.amazon.com/blogs/mobile/amazon-cognito-innecling-developer-authenticated-identities/ 我很好地理解了基本流程。 我怎样才能做到这一点?

  • 我重新部署了一个可操作的 Azure 辅助角色,并进行了一些更改,这些更改涉及引用我设置的新类库项目,并开始看到辅助角色无休止地重新启动/回收。 事件查看器应用程序日志提供的帮助很少,因为我收到的错误非常通用。 来源:. NET运行时 应用程序:WaWorkerHost.exe框架版本:v4.0.30319描述:由于未处理的异常,进程被终止。异常信息:系统。IO.FileNotFoundExcep

  • 在Flink中,我发现了2种设置水印的方法, 第一个是 第二个是 我想知道哪个最终会生效。

  • 我对编程是新手,我总是听说开发人员应该做单元测试。有很多可用的定义,但我仍然不清楚。当有人说开发人员做了一个很好的单元测试。他到底想让我测试什么??让我也告诉你,我在一个敏捷模型中工作,我们有故事,我们对我们开发的每个故事进行单元测试,所以我只需要测试故事中的那个特性。提前谢了。