flink-user-zh mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "猫猫" <16770...@qq.com>
Subject 回复: 关于直接设置Watermark和flatmap后再设置的疑问
Date Wed, 18 Dec 2019 08:03:52 GMT
可能是我说的不太明确,我理解事件时间在整个流系统下只有一个。
但是读kafka时,我无法直接拿到业务数据中的event-time。因为数据可能会被拆分为多条。
我只能当做字符串取出,并设置事件时间为kafka的时间。


在进行一次消息转换后,才能获取到数据中的时间。所以我需要在flatmap以后才能正确的设置event-time
但我又需要kafka的精确一次特性。

所以问题转变为如下的问题,我能在流中重设eventTime吗?但对最初的流(kafka提交)不影响。
所以也就是之前提到的问题。
&nbsp;env.addSource(flinkKafkaConsumer).assignTimestampsAndWatermarks(...)
&nbsp;env.addSource(flinkKafkaConsumer).flatMap(...).assignTimestampsAndWatermarks(...);


更进一步,我能向下图一样,在不同的流过程中,设置不同的eventTime吗?并且他们能够实现整体提交。





------------------&nbsp;原始邮件&nbsp;------------------
发件人:&nbsp;"LakeShen"<shenleifighting@gmail.com&gt;;
发送时间:&nbsp;2019年12月18日(星期三) 下午2:10
收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;

主题:&nbsp;Re: 关于直接设置Watermark和flatmap后再设置的疑问



flatmap 逻辑中,你是否对消息记录的时间处理了吗,watermark 的更新的逻辑是比前一次
watermark 的时间截要大同时非空。

猫猫 <16770864@qq.com&gt; 于2019年12月18日周三 上午9:27写道:

&gt; env.addSource(flinkKafkaConsumer).assignTimestampsAndWatermarks(...)
&gt;
&gt; env.addSource(flinkKafkaConsumer).flatMap(...).assignTimestampsAndWatermarks(...);
&gt;
&gt; 使用kafka进行消费,直接设置Watermark和经过flatMap()以后再设置,会产生什么样的区别和影响。
&gt; flatMap可能会将数据处理为1-N条。那么在这种情况下,还能够保证kafka的精确一次吗?
Mime
  • Unnamed multipart/related (inline, 8-Bit, 0 bytes)
View raw message