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

Flink Kafka connector 0.10.0事件时间澄清和ProcessFunction澄清

赵选
2023-03-14

我正纠结于一个关于Flink的Kafka的消费者连接器的事件时间的问题。引用Flink doc

自从Apache Kafka 0.10+以来,Kafka的消息可以携带时间戳,指示事件发生的时间(参见Apache Flink中的“事件时间”)或消息被写入Kafka代理的时间。

Kafka消费者不会发出水印。

一些问题和问题浮现在我的脑海中:

>

  • 我如何知道它的时间戳是发生的时间还是写给Kafka经纪人的时间?

    如果使用者没有发出水印并且设置了TimeCharacteristic.EventTime,这是否意味着晚了几天的消息仍然可以进入并被处理?

    主要流程图不包含窗口函数,基本上看起来是这样的:源(kafka)->过滤器->ProcessFunction->Sink。这是否意味着事件在被Kafka Connector使用的瞬间被激发?

    我目前使用Kafka connector 0.10.0,TimeCharacteristic.EventTime集,并使用processFunction,预期每X分钟进行一些状态清理。然而,我收到一个奇怪的情况,其中OnTimerContext包含时间戳,从0开始,并增长到当前时间戳,当我启动flink程序,这是相当奇怪的,这是一个bug吗?

  • 共有1个答案

    令狐烨烨
    2023-03-14
    1. 这取决于创建这些事件的Kafaka制作人的配置。Message.TimeStamp.Type属性应设置为CreateTime或LogAppendTime。
    2. 您的flink应用程序负责创建水印;Kafaka消费者会处理时间戳,但不会处理水印。不管事件有多晚,它仍然会进入您的管道。
    3. 是。
    4. 我不清楚这其中有什么奇怪的地方。
     类似资料:
    • 给定一个非空字符串s和一个包含非空单词列表的字典字词,确定s是否可以被分割成一个或多个字典单词的空格分隔序列。您可以假定字典不包含重复的单词。 例如,给定s=“leetcode”,dict=[“leet”,“code”]。 返回true,因为“leetcode”可以分段为“leetcode”。 朴素解给出如下: 时间复杂度被列为O(n^n),因为这是递归树的大小。我完全同意递归树的最后一层有n^n

    • 问题内容: 我有一张桌子Table1 当我使用以下查询查询该表时 我得到的输出为 但是以同样的方式,当我使用以下查询时,我没有任何输出。 有人请给我指导,为什么它会那样工作,以及如何使用rownum。 问题答案: 汤姆回答了许多与Oracle有关的问题 简而言之,在应用where子句之后和应用order by子句之前,rownum可用。 在RowNum = 2的情况下,where子句中的谓词将永远

    • 问题内容: 更改了该方法的结构后,当defer调用两次时会发生什么? 例如: 其中当最后叫什么名字? 问题答案: 它取决于方法的接收者 和 变量的类型。 简短的答案:如果您使用的是包,则延迟的方法将正确关闭两个实例,因为它们具有 指针 接收器, 并且 由于返回了 指针 ( 指针 也是如此)。请参阅下面的推理和解释。 为避免混淆,我建议使用不同的变量,这样会清楚您 想要 什么以及 将要 关闭的内容:

    • 我试图了解更多关于新的苹果iBeacon协议的信息,以及它将如何应用于其他设备。 我已经看到协议本身已经被逆向工程:http://developer.radiusnetworks.com/2013/10/01/reverse-engineering-the-ibeacon-profile.html这是个好消息,但是我对协议还有一些进一步的问题。 协议是否设计为允许自定义文本消息发送到接收方客户端?

    • 我对Firebase定价模型有点困惑,特别关注的是连接或更准确地说是并发连接。 让我们举一个iOS移动应用程序FanZONE的例子: 用户将在足球比赛期间创建组。他们将对实际比赛进行评论,评论将立即显示在每个会员屏幕上。 这种情况是否意味着参与评论/查看的每个用户都会对一个连接计数 那么,如果一个组包含100个积极关注屏幕并不时发表评论的用户,那么每90分钟是否有100个连接 后台有应用程序的用户

    • 对于双向SSL是如何工作的,我有些困惑。客户端如何创建要发送到服务器的证书?是否从服务器生成并分发到客户端? 另外,与单向SSL相比,双向SSL的优势是什么?