You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by 赵一旦 <hi...@gmail.com> on 2020/09/27 05:25:37 UTC

FlinkSQL是否支持设置窗口trigger实现continuious trigger呢

如题,不使用DatastreamAPI,使用FlinkSQL能否实现五分钟窗口,每10秒输出一次呢?

Re: FlinkSQL是否支持设置窗口trigger实现continuious trigger呢

Posted by Sebastian Liu <li...@gmail.com>.
table.exec.emit.early-fire.delay 是一个duration type的configuration,不写单位会apply失败

fan_future <zj...@163.com> 于2020年12月30日周三 下午4:00写道:

> 这两个参数
> table.exec.emit.early-fire.enabled
> table.exec.emit.early-fire.delay
> 是怎么设置的??
>
>         EnvironmentSettings build =
>
> EnvironmentSettings.newInstance().useBlinkPlanner().inStreamingMode().build();
>         TableEnvironment tEnv = TableEnvironment.create(build);
>
>         Configuration tableConfig = tEnv.getConfig().getConfiguration();
>         tableConfig.setString("table.exec.emit.early-fire.enabled","true");
>         tableConfig.setString("table.exec.emit.early-fire.delay","60000");
> 我这样处理后就报错
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/
>


-- 

*With kind regards
------------------------------------------------------------
Sebastian Liu 刘洋
Institute of Computing Technology, Chinese Academy of Science
Mobile\WeChat: +86—15201613655
E-mail: liuyang0704@gmail.com <li...@gmail.com>
QQ: 3239559*

Re: FlinkSQL是否支持设置窗口trigger实现continuious trigger呢

Posted by fan_future <zj...@163.com>.
这两个参数 
table.exec.emit.early-fire.enabled
table.exec.emit.early-fire.delay
是怎么设置的??

        EnvironmentSettings build =
EnvironmentSettings.newInstance().useBlinkPlanner().inStreamingMode().build();
        TableEnvironment tEnv = TableEnvironment.create(build);

        Configuration tableConfig = tEnv.getConfig().getConfiguration();
        tableConfig.setString("table.exec.emit.early-fire.enabled","true");
        tableConfig.setString("table.exec.emit.early-fire.delay","60000");
我这样处理后就报错



--
Sent from: http://apache-flink.147419.n8.nabble.com/

Re: FlinkSQL是否支持设置窗口trigger实现continuious trigger呢

Posted by 赵一旦 <hi...@gmail.com>.
good. 懂啦。

hailongwang <18...@163.com> 于2020年9月29日周二 上午12:16写道:

>
>
>
> 可以使用
> tableConfig.getConfiguration.set('table.exec.emit.early-fire.enabled',
> true)
> tableConfig.getConfiguration.set('table.exec.emit.early-fire.delay', '10
> s')
>
>
>  祝好
> Hailong Wang
> 在 2020-09-27 12:25:37,"赵一旦" <hi...@gmail.com> 写道:
> >如题,不使用DatastreamAPI,使用FlinkSQL能否实现五分钟窗口,每10秒输出一次呢?
>

Re:FlinkSQL是否支持设置窗口trigger实现continuious trigger呢

Posted by hailongwang <18...@163.com>.


可以使用
tableConfig.getConfiguration.set('table.exec.emit.early-fire.enabled', true)
tableConfig.getConfiguration.set('table.exec.emit.early-fire.delay', '10 s')


 祝好
Hailong Wang
在 2020-09-27 12:25:37,"赵一旦" <hi...@gmail.com> 写道:
>如题,不使用DatastreamAPI,使用FlinkSQL能否实现五分钟窗口,每10秒输出一次呢?

Re: Re: FlinkSQL是否支持设置窗口trigger实现continuious trigger呢

Posted by Benchao Li <li...@apache.org>.
可以的。有一个实验性质的Fast Emit功能,可以通过如下参数开启:
table.exec.emit.early-fire.enabled = true
table.exec.emit.early-fire.delay = 10s

Michael Ran <gr...@163.com> 于2020年9月27日周日 下午2:49写道:

> 额,不是5分钟窗口,10秒一个步长往前滑动吗? <br/>我以为滚动是5分钟窗口 5分钟一输出呢。。
> 在 2020-09-27 14:43:57,"赵一旦" <hi...@gmail.com> 写道:
> >不是滑动窗口哈。是滚动窗口,每10秒触发一次输出。滑动窗口的化逻辑就变了。
> >
> >Michael Ran <gr...@163.com> 于2020年9月27日周日 下午2:39写道:
> >
> >> 滑动窗口
> >> 在 2020-09-27 13:25:37,"赵一旦" <hi...@gmail.com> 写道:
> >> >如题,不使用DatastreamAPI,使用FlinkSQL能否实现五分钟窗口,每10秒输出一次呢?
> >>
>


-- 

Best,
Benchao Li

Re:Re: FlinkSQL是否支持设置窗口trigger实现continuious trigger呢

Posted by Michael Ran <gr...@163.com>.
额,不是5分钟窗口,10秒一个步长往前滑动吗? <br/>我以为滚动是5分钟窗口 5分钟一输出呢。。
在 2020-09-27 14:43:57,"赵一旦" <hi...@gmail.com> 写道:
>不是滑动窗口哈。是滚动窗口,每10秒触发一次输出。滑动窗口的化逻辑就变了。
>
>Michael Ran <gr...@163.com> 于2020年9月27日周日 下午2:39写道:
>
>> 滑动窗口
>> 在 2020-09-27 13:25:37,"赵一旦" <hi...@gmail.com> 写道:
>> >如题,不使用DatastreamAPI,使用FlinkSQL能否实现五分钟窗口,每10秒输出一次呢?
>>

Re: FlinkSQL是否支持设置窗口trigger实现continuious trigger呢

Posted by 赵一旦 <hi...@gmail.com>.
不是滑动窗口哈。是滚动窗口,每10秒触发一次输出。滑动窗口的化逻辑就变了。

Michael Ran <gr...@163.com> 于2020年9月27日周日 下午2:39写道:

> 滑动窗口
> 在 2020-09-27 13:25:37,"赵一旦" <hi...@gmail.com> 写道:
> >如题,不使用DatastreamAPI,使用FlinkSQL能否实现五分钟窗口,每10秒输出一次呢?
>

Re:FlinkSQL是否支持设置窗口trigger实现continuious trigger呢

Posted by Michael Ran <gr...@163.com>.
滑动窗口
在 2020-09-27 13:25:37,"赵一旦" <hi...@gmail.com> 写道:
>如题,不使用DatastreamAPI,使用FlinkSQL能否实现五分钟窗口,每10秒输出一次呢?

Re: FlinkSQL是否支持设置窗口trigger实现continuious trigger呢

Posted by 刘建刚 <li...@gmail.com>.
提供另外一种思路:内层是10s的翻滚窗口,外层接一个按5分钟为key的group by。为防止状态过大,可以设置ttl。简单demo如下:
SELECT *
FROM (SELECT TUMBLE_START(proctime, INTERVAL '10' SECOND) AS st, *
             FROM *
             GROUP BY TUMBLE(proctime, INTERVAL '10' SECOND)
           )
GROUP BY st / (5 * 60 * 1000)

赵一旦 <hi...@gmail.com> 于2020年9月27日周日 下午5:45写道:

> Benchao Li那个我会考虑下,主要是了解下,从datastream转过来,想结合业务看看有多少任务是sql也能实现的。
> silence这个不清楚你表达啥意思,统计需求是五分钟粒度的,不通过窗口咋搞。
> 难道是指基于ts人工计算所属窗口w,然后group by w, 其他key  这样嘛。
>
>
>
> silence <sl...@aliyun.com.invalid> 于2020年9月27日周日 下午5:37写道:
>
> > 也可以通过普通的非窗口聚合进行实现吧,minibatch设大点
> >
> >
> >
> > --
> > Sent from: http://apache-flink.147419.n8.nabble.com/
> >
>

Re: FlinkSQL是否支持设置窗口trigger实现continuious trigger呢

Posted by 赵一旦 <hi...@gmail.com>.
Benchao Li那个我会考虑下,主要是了解下,从datastream转过来,想结合业务看看有多少任务是sql也能实现的。
silence这个不清楚你表达啥意思,统计需求是五分钟粒度的,不通过窗口咋搞。
难道是指基于ts人工计算所属窗口w,然后group by w, 其他key  这样嘛。



silence <sl...@aliyun.com.invalid> 于2020年9月27日周日 下午5:37写道:

> 也可以通过普通的非窗口聚合进行实现吧,minibatch设大点
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/
>

Re: FlinkSQL是否支持设置窗口trigger实现continuious trigger呢

Posted by silence <sl...@aliyun.com.INVALID>.
也可以通过普通的非窗口聚合进行实现吧,minibatch设大点



--
Sent from: http://apache-flink.147419.n8.nabble.com/