如何设置FlinkSQL并行度

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

如何设置FlinkSQL并行度

Zhao,Yi(SEC)
看配置文件有 execution. Parallelism,但这个明显是全局类型的配置。
如何给Sql生成的数据源结点,window结点,sink结点等设置不同的并行度呢?

比如数据源理论上应该和kafka分区数一致比较好,window则需要根据数据量考虑计算压力,sink也应该有相应的场景考虑。

Reply | Threaded
Open this post in threaded view
|

Re: 如何设置FlinkSQL并行度

Zhao,Yi(SEC)
并行度问题有人帮忙解答下吗,此外补充个相关问题,除了并行度,flink-sql情况下,能做检查点/保存点,并基于检查点/保存点重启sql任务吗。

发件人: "Zhao,Yi(SEC)" <[hidden email]>
日期: 2020年8月13日 星期四 上午11:44
收件人: "[hidden email]" <[hidden email]>
主题: 如何设置FlinkSQL并行度

看配置文件有 execution. Parallelism,但这个明显是全局类型的配置。
如何给Sql生成的数据源结点,window结点,sink结点等设置不同的并行度呢?

比如数据源理论上应该和kafka分区数一致比较好,window则需要根据数据量考虑计算压力,sink也应该有相应的场景考虑。

Reply | Threaded
Open this post in threaded view
|

Re: 如何设置FlinkSQL并行度

Xingbo Huang
Hi,

关于并行度的问题,据我所知,目前Table API上还没法对每一个算子单独设置并行度

Best,
Xingbo

Zhao,Yi(SEC) <[hidden email]> 于2020年8月14日周五 上午10:49写道:

> 并行度问题有人帮忙解答下吗,此外补充个相关问题,除了并行度,flink-sql情况下,能做检查点/保存点,并基于检查点/保存点重启sql任务吗。
>
> 发件人: "Zhao,Yi(SEC)" <[hidden email]>
> 日期: 2020年8月13日 星期四 上午11:44
> 收件人: "[hidden email]" <[hidden email]>
> 主题: 如何设置FlinkSQL并行度
>
> 看配置文件有 execution. Parallelism,但这个明显是全局类型的配置。
> 如何给Sql生成的数据源结点,window结点,sink结点等设置不同的并行度呢?
>
> 比如数据源理论上应该和kafka分区数一致比较好,window则需要根据数据量考虑计算压力,sink也应该有相应的场景考虑。
>
>
Reply | Threaded
Open this post in threaded view
|

Re: 如何设置FlinkSQL并行度

nobleyd
检查点呢,大多数用FlinkSQL的同学们,你们的任务是随时可运行那种吗,不是必须保证不可间断的准确性级别吗?

Xingbo Huang <[hidden email]> 于2020年8月14日周五 下午12:01写道:

> Hi,
>
> 关于并行度的问题,据我所知,目前Table API上还没法对每一个算子单独设置并行度
>
> Best,
> Xingbo
>
> Zhao,Yi(SEC) <[hidden email]> 于2020年8月14日周五 上午10:49写道:
>
> > 并行度问题有人帮忙解答下吗,此外补充个相关问题,除了并行度,flink-sql情况下,能做检查点/保存点,并基于检查点/保存点重启sql任务吗。
> >
> > 发件人: "Zhao,Yi(SEC)" <[hidden email]>
> > 日期: 2020年8月13日 星期四 上午11:44
> > 收件人: "[hidden email]" <[hidden email]>
> > 主题: 如何设置FlinkSQL并行度
> >
> > 看配置文件有 execution. Parallelism,但这个明显是全局类型的配置。
> > 如何给Sql生成的数据源结点,window结点,sink结点等设置不同的并行度呢?
> >
> > 比如数据源理论上应该和kafka分区数一致比较好,window则需要根据数据量考虑计算压力,sink也应该有相应的场景考虑。
> >
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: 如何设置FlinkSQL并行度

nobleyd
有结论了。貌似通过sql-client就是不支持。需要通过java/scala写代码方式,基于tableEnv提交sql执行,这种情况下只需要设置好env的检查点即可。
同时本身这种情况执行也是使用flink命令提交的任务,自然也可以基于flink触发保存点,或启动任务且基于检查点。

赵一旦 <[hidden email]> 于2020年8月14日周五 下午12:03写道:

> 检查点呢,大多数用FlinkSQL的同学们,你们的任务是随时可运行那种吗,不是必须保证不可间断的准确性级别吗?
>
> Xingbo Huang <[hidden email]> 于2020年8月14日周五 下午12:01写道:
>
>> Hi,
>>
>> 关于并行度的问题,据我所知,目前Table API上还没法对每一个算子单独设置并行度
>>
>> Best,
>> Xingbo
>>
>> Zhao,Yi(SEC) <[hidden email]> 于2020年8月14日周五 上午10:49写道:
>>
>> > 并行度问题有人帮忙解答下吗,此外补充个相关问题,除了并行度,flink-sql情况下,能做检查点/保存点,并基于检查点/保存点重启sql任务吗。
>> >
>> > 发件人: "Zhao,Yi(SEC)" <[hidden email]>
>> > 日期: 2020年8月13日 星期四 上午11:44
>> > 收件人: "[hidden email]" <[hidden email]>
>> > 主题: 如何设置FlinkSQL并行度
>> >
>> > 看配置文件有 execution. Parallelism,但这个明显是全局类型的配置。
>> > 如何给Sql生成的数据源结点,window结点,sink结点等设置不同的并行度呢?
>> >
>> > 比如数据源理论上应该和kafka分区数一致比较好,window则需要根据数据量考虑计算压力,sink也应该有相应的场景考虑。
>> >
>> >
>>
>
Reply | Threaded
Open this post in threaded view
|

Re:Re: 如何设置FlinkSQL并行度

forideal
In reply to this post by nobleyd
Hi 赵一旦,


目前 Flink SQL 我这边使用也是无法指定各个算子的并行度。目前我这边遇到两个问题。
1.并行度超过 topic partition 的时候会造成资源浪费
2.并行度超过 topic partition 后,checkpoint 也无法正常触发了


Best forideal

















在 2020-08-14 12:03:32,"赵一旦" <[hidden email]> 写道:

>检查点呢,大多数用FlinkSQL的同学们,你们的任务是随时可运行那种吗,不是必须保证不可间断的准确性级别吗?
>
>Xingbo Huang <[hidden email]> 于2020年8月14日周五 下午12:01写道:
>
>> Hi,
>>
>> 关于并行度的问题,据我所知,目前Table API上还没法对每一个算子单独设置并行度
>>
>> Best,
>> Xingbo
>>
>> Zhao,Yi(SEC) <[hidden email]> 于2020年8月14日周五 上午10:49写道:
>>
>> > 并行度问题有人帮忙解答下吗,此外补充个相关问题,除了并行度,flink-sql情况下,能做检查点/保存点,并基于检查点/保存点重启sql任务吗。
>> >
>> > 发件人: "Zhao,Yi(SEC)" <[hidden email]>
>> > 日期: 2020年8月13日 星期四 上午11:44
>> > 收件人: "[hidden email]" <[hidden email]>
>> > 主题: 如何设置FlinkSQL并行度
>> >
>> > 看配置文件有 execution. Parallelism,但这个明显是全局类型的配置。
>> > 如何给Sql生成的数据源结点,window结点,sink结点等设置不同的并行度呢?
>> >
>> > 比如数据源理论上应该和kafka分区数一致比较好,window则需要根据数据量考虑计算压力,sink也应该有相应的场景考虑。
>> >
>> >
>>
Reply | Threaded
Open this post in threaded view
|

Re: 如何设置FlinkSQL并行度

Zhao,Yi(SEC)
In reply to this post by Zhao,Yi(SEC)
我这边才研究FlinkSQL没几天。不过按照目前了解,是不支持算子级别并行度设置的。
此外你说的checkpoint无法正常触发,我估计是因为barrier的问题,部分并行示例没有分区数据,导致没数据就可能导致。这个问题类似,可能无解。

非要解决可以写代码,把souce部分不使用sql实现。
__________

在 2020/8/15 下午8:21,“forideal”<[hidden email]> 写入:

    Hi 赵一旦,
   
   
    目前 Flink SQL 我这边使用也是无法指定各个算子的并行度。目前我这边遇到两个问题。
    1.并行度超过 topic partition 的时候会造成资源浪费
    2.并行度超过 topic partition 后,checkpoint 也无法正常触发了
   
   
    Best forideal
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
    在 2020-08-14 12:03:32,"赵一旦" <[hidden email]> 写道:
    >检查点呢,大多数用FlinkSQL的同学们,你们的任务是随时可运行那种吗,不是必须保证不可间断的准确性级别吗?
    >
    >Xingbo Huang <[hidden email]> 于2020年8月14日周五 下午12:01写道:
    >
    >> Hi,
    >>
    >> 关于并行度的问题,据我所知,目前Table API上还没法对每一个算子单独设置并行度
    >>
    >> Best,
    >> Xingbo
    >>
    >> Zhao,Yi(SEC) <[hidden email]> 于2020年8月14日周五 上午10:49写道:
    >>
    >> > 并行度问题有人帮忙解答下吗,此外补充个相关问题,除了并行度,flink-sql情况下,能做检查点/保存点,并基于检查点/保存点重启sql任务吗。
    >> >
    >> > 发件人: "Zhao,Yi(SEC)" <[hidden email]>
    >> > 日期: 2020年8月13日 星期四 上午11:44
    >> > 收件人: "[hidden email]" <[hidden email]>
    >> > 主题: 如何设置FlinkSQL并行度
    >> >
    >> > 看配置文件有 execution. Parallelism,但这个明显是全局类型的配置。
    >> > 如何给Sql生成的数据源结点,window结点,sink结点等设置不同的并行度呢?
    >> >
    >> > 比如数据源理论上应该和kafka分区数一致比较好,window则需要根据数据量考虑计算压力,sink也应该有相应的场景考虑。
    >> >
    >> >
    >>
   

Reply | Threaded
Open this post in threaded view
|

Re:Re: 如何设置FlinkSQL并行度

forideal
Hi 赵一旦,
基础信息:使用 watermark for 语法设置watermark,Flink SQL,Blink planner,Flink 1.10.0
我最近做了一个实验,将Flink SQL 的并发设置为 kafka topic partition 的 2 倍,同时设置 idle 的时间为 10s。
这时,1.source 会有一半的partition 立马就 finished
2.下游的 workmark 变成了LONG的最大值
整个任务都无法正常运行了。


Best forideal




在 2020-08-17 10:05:48,"Zhao,Yi(SEC)" <[hidden email]> 写道:

>我这边才研究FlinkSQL没几天。不过按照目前了解,是不支持算子级别并行度设置的。
>此外你说的checkpoint无法正常触发,我估计是因为barrier的问题,部分并行示例没有分区数据,导致没数据就可能导致。这个问题类似,可能无解。
>
>非要解决可以写代码,把souce部分不使用sql实现。
>__________
>
>在 2020/8/15 下午8:21,“forideal”<[hidden email]> 写入:
>
>    Hi 赵一旦,
>    
>    
>    目前 Flink SQL 我这边使用也是无法指定各个算子的并行度。目前我这边遇到两个问题。
>    1.并行度超过 topic partition 的时候会造成资源浪费
>    2.并行度超过 topic partition 后,checkpoint 也无法正常触发了
>    
>    
>    Best forideal
>    
>    
>    
>    
>    
>    
>    
>    
>    
>    
>    
>    
>    
>    
>    
>    
>    
>    在 2020-08-14 12:03:32,"赵一旦" <[hidden email]> 写道:
>    >检查点呢,大多数用FlinkSQL的同学们,你们的任务是随时可运行那种吗,不是必须保证不可间断的准确性级别吗?
>    >
>    >Xingbo Huang <[hidden email]> 于2020年8月14日周五 下午12:01写道:
>    >
>    >> Hi,
>    >>
>    >> 关于并行度的问题,据我所知,目前Table API上还没法对每一个算子单独设置并行度
>    >>
>    >> Best,
>    >> Xingbo
>    >>
>    >> Zhao,Yi(SEC) <[hidden email]> 于2020年8月14日周五 上午10:49写道:
>    >>
>    >> > 并行度问题有人帮忙解答下吗,此外补充个相关问题,除了并行度,flink-sql情况下,能做检查点/保存点,并基于检查点/保存点重启sql任务吗。
>    >> >
>    >> > 发件人: "Zhao,Yi(SEC)" <[hidden email]>
>    >> > 日期: 2020年8月13日 星期四 上午11:44
>    >> > 收件人: "[hidden email]" <[hidden email]>
>    >> > 主题: 如何设置FlinkSQL并行度
>    >> >
>    >> > 看配置文件有 execution. Parallelism,但这个明显是全局类型的配置。
>    >> > 如何给Sql生成的数据源结点,window结点,sink结点等设置不同的并行度呢?
>    >> >
>    >> > 比如数据源理论上应该和kafka分区数一致比较好,window则需要根据数据量考虑计算压力,sink也应该有相应的场景考虑。
>    >> >
>    >> >
>    >>
>    
>
Reply | Threaded
Open this post in threaded view
|

Re: Re: 如何设置FlinkSQL并行度

Benchao Li-2
Hi forideal,

我在本地试了一下,没有复现你说的这个情况。
我看代码也没有这个逻辑,如果是没有分配到partition,应该是会阻塞住,而不是finish。
你这个测试用的是社区的版本么?还是有什么特殊的改动?

forideal <[hidden email]> 于2020年8月21日周五 下午11:43写道:

> Hi 赵一旦,
> 基础信息:使用 watermark for 语法设置watermark,Flink SQL,Blink planner,Flink 1.10.0
> 我最近做了一个实验,将Flink SQL 的并发设置为 kafka topic partition 的 2 倍,同时设置 idle 的时间为 10s。
> 这时,1.source 会有一半的partition 立马就 finished
> 2.下游的 workmark 变成了LONG的最大值
> 整个任务都无法正常运行了。
>
>
> Best forideal
>
>
>
>
> 在 2020-08-17 10:05:48,"Zhao,Yi(SEC)" <[hidden email]> 写道:
> >我这边才研究FlinkSQL没几天。不过按照目前了解,是不支持算子级别并行度设置的。
>
> >此外你说的checkpoint无法正常触发,我估计是因为barrier的问题,部分并行示例没有分区数据,导致没数据就可能导致。这个问题类似,可能无解。
> >
> >非要解决可以写代码,把souce部分不使用sql实现。
> >__________
> >
> >在 2020/8/15 下午8:21,“forideal”<[hidden email]> 写入:
> >
> >    Hi 赵一旦,
> >
> >
> >    目前 Flink SQL 我这边使用也是无法指定各个算子的并行度。目前我这边遇到两个问题。
> >    1.并行度超过 topic partition 的时候会造成资源浪费
> >    2.并行度超过 topic partition 后,checkpoint 也无法正常触发了
> >
> >
> >    Best forideal
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >    在 2020-08-14 12:03:32,"赵一旦" <[hidden email]> 写道:
> >    >检查点呢,大多数用FlinkSQL的同学们,你们的任务是随时可运行那种吗,不是必须保证不可间断的准确性级别吗?
> >    >
> >    >Xingbo Huang <[hidden email]> 于2020年8月14日周五 下午12:01写道:
> >    >
> >    >> Hi,
> >    >>
> >    >> 关于并行度的问题,据我所知,目前Table API上还没法对每一个算子单独设置并行度
> >    >>
> >    >> Best,
> >    >> Xingbo
> >    >>
> >    >> Zhao,Yi(SEC) <[hidden email]> 于2020年8月14日周五 上午10:49写道:
> >    >>
> >    >> >
> 并行度问题有人帮忙解答下吗,此外补充个相关问题,除了并行度,flink-sql情况下,能做检查点/保存点,并基于检查点/保存点重启sql任务吗。
> >    >> >
> >    >> > 发件人: "Zhao,Yi(SEC)" <[hidden email]>
> >    >> > 日期: 2020年8月13日 星期四 上午11:44
> >    >> > 收件人: "[hidden email]" <[hidden email]>
> >    >> > 主题: 如何设置FlinkSQL并行度
> >    >> >
> >    >> > 看配置文件有 execution. Parallelism,但这个明显是全局类型的配置。
> >    >> > 如何给Sql生成的数据源结点,window结点,sink结点等设置不同的并行度呢?
> >    >> >
> >    >> > 比如数据源理论上应该和kafka分区数一致比较好,window则需要根据数据量考虑计算压力,sink也应该有相应的场景考虑。
> >    >> >
> >    >> >
> >    >>
> >
> >
>


--

Best,
Benchao Li
Reply | Threaded
Open this post in threaded view
|

Re: 如何设置FlinkSQL并行度

JasonLee
In reply to this post by Zhao,Yi(SEC)
hi
checkpoint savepoint的问题可以看下这个
https://mp.weixin.qq.com/s/Vl6_GsGeG0dK84p9H2Ld0Q



--
Sent from: http://apache-flink.147419.n8.nabble.com/
Best Wishes
JasonLee
Reply | Threaded
Open this post in threaded view
|

Re:Re: Re: 如何设置FlinkSQL并行度

forideal
In reply to this post by Benchao Li-2
Hi 本超,


    感谢你的回复,这个地方的代码我们确实改动过,官方代码的行为是正常的。非常感谢!
      > 目前 Flink SQL 我这边使用也是无法指定各个算子的并行度。
> 1.并行度超过 topic partition 的时候会造成资源浪费
> 2.并行度超过 topic partition 后,checkpoint 也无法正常触发了
其中第二个问题是我们自己改动官方 Flink 源码造成的。
 
Best forideal    

在 2020-08-22 11:37:20,"Benchao Li" <[hidden email]> 写道:

>Hi forideal,
>
>我在本地试了一下,没有复现你说的这个情况。
>我看代码也没有这个逻辑,如果是没有分配到partition,应该是会阻塞住,而不是finish。
>你这个测试用的是社区的版本么?还是有什么特殊的改动?
>
>forideal <[hidden email]> 于2020年8月21日周五 下午11:43写道:
>
>> Hi 赵一旦,
>> 基础信息:使用 watermark for 语法设置watermark,Flink SQL,Blink planner,Flink 1.10.0
>> 我最近做了一个实验,将Flink SQL 的并发设置为 kafka topic partition 的 2 倍,同时设置 idle 的时间为 10s。
>> 这时,1.source 会有一半的partition 立马就 finished
>> 2.下游的 workmark 变成了LONG的最大值
>> 整个任务都无法正常运行了。
>>
>>
>> Best forideal
>>
>>
>>
>>
>> 在 2020-08-17 10:05:48,"Zhao,Yi(SEC)" <[hidden email]> 写道:
>> >我这边才研究FlinkSQL没几天。不过按照目前了解,是不支持算子级别并行度设置的。
>>
>> >此外你说的checkpoint无法正常触发,我估计是因为barrier的问题,部分并行示例没有分区数据,导致没数据就可能导致。这个问题类似,可能无解。
>> >
>> >非要解决可以写代码,把souce部分不使用sql实现。
>> >__________
>> >
>> >在 2020/8/15 下午8:21,“forideal”<[hidden email]> 写入:
>> >
>> >    Hi 赵一旦,
>> >
>> >
>> >    目前 Flink SQL 我这边使用也是无法指定各个算子的并行度。目前我这边遇到两个问题。
>> >    1.并行度超过 topic partition 的时候会造成资源浪费
>> >    2.并行度超过 topic partition 后,checkpoint 也无法正常触发了
>> >
>> >
>> >    Best forideal
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >    在 2020-08-14 12:03:32,"赵一旦" <[hidden email]> 写道:
>> >    >检查点呢,大多数用FlinkSQL的同学们,你们的任务是随时可运行那种吗,不是必须保证不可间断的准确性级别吗?
>> >    >
>> >    >Xingbo Huang <[hidden email]> 于2020年8月14日周五 下午12:01写道:
>> >    >
>> >    >> Hi,
>> >    >>
>> >    >> 关于并行度的问题,据我所知,目前Table API上还没法对每一个算子单独设置并行度
>> >    >>
>> >    >> Best,
>> >    >> Xingbo
>> >    >>
>> >    >> Zhao,Yi(SEC) <[hidden email]> 于2020年8月14日周五 上午10:49写道:
>> >    >>
>> >    >> >
>> 并行度问题有人帮忙解答下吗,此外补充个相关问题,除了并行度,flink-sql情况下,能做检查点/保存点,并基于检查点/保存点重启sql任务吗。
>> >    >> >
>> >    >> > 发件人: "Zhao,Yi(SEC)" <[hidden email]>
>> >    >> > 日期: 2020年8月13日 星期四 上午11:44
>> >    >> > 收件人: "[hidden email]" <[hidden email]>
>> >    >> > 主题: 如何设置FlinkSQL并行度
>> >    >> >
>> >    >> > 看配置文件有 execution. Parallelism,但这个明显是全局类型的配置。
>> >    >> > 如何给Sql生成的数据源结点,window结点,sink结点等设置不同的并行度呢?
>> >    >> >
>> >    >> > 比如数据源理论上应该和kafka分区数一致比较好,window则需要根据数据量考虑计算压力,sink也应该有相应的场景考虑。
>> >    >> >
>> >    >> >
>> >    >>
>> >
>> >
>>
>
>
>--
>
>Best,
>Benchao Li
Reply | Threaded
Open this post in threaded view
|

Re: 如何设置FlinkSQL并行度

zilong xiao
In reply to this post by JasonLee
SQL 算子并行度设置可以自己实现,可以私下交流下,正好在做这块,基本能工作了

JasonLee <[hidden email]> 于2020年8月23日周日 下午2:07写道:

> hi
> checkpoint savepoint的问题可以看下这个
> https://mp.weixin.qq.com/s/Vl6_GsGeG0dK84p9H2Ld0Q
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/
>
Reply | Threaded
Open this post in threaded view
|

Re: 如何设置FlinkSQL并行度

nobleyd
啥情况,你是调整了sql部分实现嘛。有示例嘛。

zilong xiao <[hidden email]> 于2020年8月29日周六 下午5:19写道:

> SQL 算子并行度设置可以自己实现,可以私下交流下,正好在做这块,基本能工作了
>
> JasonLee <[hidden email]> 于2020年8月23日周日 下午2:07写道:
>
> > hi
> > checkpoint savepoint的问题可以看下这个
> > https://mp.weixin.qq.com/s/Vl6_GsGeG0dK84p9H2Ld0Q
> >
> >
> >
> > --
> > Sent from: http://apache-flink.147419.n8.nabble.com/
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: 如何设置FlinkSQL并行度

spike
In reply to this post by zilong xiao
hi

  我们的业务场景也强需这个能力,方便单独交流下吗
 

regards
 



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