Hi, Benchao:
DAG图是指向了同一个问题,但是用了TableEnvironment后,发现所有的时间都差了13个小时,比如调用LOCALTIMESTAMP函数。另外问一个问题,使用TableEnvironment怎么设置checkpoint?




Best,
Junbao Zhang
________________________________
发件人: Benchao Li <[email protected]>
发送时间: 2020年5月28日 17:05
收件人: user-zh <[email protected]>
主题: Re: 疑问:flink sql 当一个env下多个insert语句共享一个view时,是否会影响view中kafka源表的offset提交

嗯,是的。这个是blink planner特有的优化,可以支持多个sink的DAG图的优化。你也可以看下Flink
UI上的任务DAG图,比较明显的可以看到只有一个Source,后面接了两个Sink。

[email protected] <[email protected]> 于2020年5月28日周四 下午5:02写道:

> Hi, Benchao:
> 谢谢回复,经过测试确实是这样,也就是同一个TableEnvironment下,如果有多条insert语句访问同一个表,该表的数据只消费一次?
>
>
>
>
> Best,
> Junbao Zhang
> ________________________________
> 发件人: Benchao Li <[email protected]>
> 发送时间: 2020年5月28日 15:59
> 收件人: user-zh <[email protected]>
> 主题: Re: 疑问:flink sql 当一个env下多个insert语句共享一个view时,是否会影响view中kafka源表的offset提交
>
>
> 如果你的tEnv用的是TableEnvironment,而不是StreamTableEnvironment的话,两个insert会公用前面的source,也就是会只读取a表一次,然后分别给下游c和d用。
>
> [email protected] <[email protected]> 于2020年5月28日周四
> 下午3:14写道:
>
> > Hi,all:
> > 当前使用版本flink 1.10.0,使用blink planner,假如有如下代码:
> >
> > tEnv.createTemporaryView("b", tEnv.sqlQuery("select * from a"));
> > tEnv.sqlUpdate("insert into c select * from b where b.con1 = '1'");
> > tEnv.sqlUpdate("insert into d select * from b where b.con1 = '2'");
> >
> > 其中a是kafka表,connector属性为:
> > 'connector.properties.group.id' = 'testGroup',
> > 'connector.startup-mode' = 'group-offsets'
> >
> >            疑问是该应用运行时c、d消费a表,a表group 'testGroup'
> > offset的提交会不会受到影响,还是a表中同一条记录会流向2个不同的分支?
> >
>
>
> --
>
> Best,
> Benchao Li
>


--

Best,
Benchao Li

回复