我猜测是 watermark 的问题, 看楼主的设置, watermark 是 -2s ,也就是说, order header 流,有数据晚了 2s
,就会被丢弃。
楼主之前看的也是 订单明细比订单主表晚几秒, 这只是同一个订单的数据生成时间差异。 如果是这样的话,使用一般的 inner join + ttl
就可以满足需求了。
BTW: watermark 我觉得很难使用好,实际使用场景非常有限。
Zhiwen Sun
On Wed, Jun 15, 2022 at 11:43 AM Shengkai Fang wrote:
> > 我在sql inner
支持同时写入多个 values ,这个是 jdbcurl 控制,设置 *rewriteBatchedStatements=true*
生成的 SQL 类似:
INSERT INTO `order_summary`(`order_id`, `proctime`, `order_status`,
> `order_name`, `total`)
> VALUES
> (3, '2022-06-14 22:31:24.699', 'OK', 'order-name-1', 20) ,
> (2, '2022-06-14 22:31:21.496', 'OK',
> 我在sql inner join里设置的状态ttl为20s,为什么20s的状态保留数据要比interval join开分钟级别的数据还要准确
不合理的 watermark 设置在 interval join 就会导致丢数据。设置 ttl 情况下,如果某个 key
的数据频繁访问情况下,那么这个数据就不会过期。
> 我的做法是排查了tm和jm的日志,没有看见写的表的配置的日志。
我记得日志是会打印相关的日志。能提一些相关的日志吗?
best,
Shengkai
lxk 于2022年6月14日周二 20:04写道:
> Hi,
> 我目前使用sql interval
您好:
我是一名学习使用pyflink的用户,我想在ubuntu20.04上开发pyflink,但是在运行代码的时候,报错为:
Traceback (most recent call last):
File "/root/.py", line 6, in
s_env = StreamExecutionEnvironment.get_execution_environment()
File
Hi,
友情提醒:开ticket以及以后在dev里讨论,记得用英语哈。
祝好
Jing
On Tue, Jun 14, 2022 at 3:23 PM Yun Tang wrote:
> Hi,育锋
>
> 我觉得你的分析应该是没问题的。可以创建一个ticket来修复该问题。另外,关于代码实现的具体讨论,建议在dev邮件列表讨论。
>
> 祝好
> 唐云
>
> From: 朱育锋
> Sent: Tuesday, June 14, 2022 19:33
> To:
Hi,育锋
我觉得你的分析应该是没问题的。可以创建一个ticket来修复该问题。另外,关于代码实现的具体讨论,建议在dev邮件列表讨论。
祝好
唐云
From: 朱育锋
Sent: Tuesday, June 14, 2022 19:33
To: user-zh@flink.apache.org
Subject: 怀疑源码中的一个方法是never reached code
Hello Everyone
Hi,
我目前使用sql interval join,窗口的上下界增加到分钟级别,分别是-2 minute 和 +4 minute 目前来看数据量和使用inner
join要差不多了。以下是代码
Table headerTable = streamTableEnvironment.fromDataStream(headerFilterStream,
Schema.newBuilder()
.columnByExpression("rowtime", "CAST(substring(last_updated_at,0,19) AS
TIMESTAMP_LTZ(3))")
Hello Everyone
在阅读ProcessMemoryUtils类的代码时,我怀疑sanityCheckTotalProcessMemory方法[1]中的主体逻辑永远都不会执行:
1.
在deriveJvmMetaspaceAndOverheadFromTotalFlinkMemory方法中,判断了是否显式配置了TotalProcessMemory[2]
2.