Re: 关于flink sql 1.10 source并行度自动推断的疑问

2020-03-25 文章 Jingsong Li
Hi,

就像Zhenghua所说,各个tasks是去抢split的,而不是平均分配,所以一旦后面的tasks没有调度起来,前面的tasks会把split抢光的。

但是少slots多并发的场景并不少见,前面tasks读取太多数据可能会让性能/容错都不友好。所以我们也需要引入平均分配的策略。创建了个JIRA
[1], FYI.

[1]https://issues.apache.org/jira/browse/FLINK-16787

Best,
Jingsong Lee

On Wed, Mar 25, 2020 at 6:25 PM Chief  wrote:

> hi Zhenghua Gao
> 好的,谢谢,我拉日志看看。
>
>
> --原始邮件--
> 发件人:"Zhenghua Gao" 发送时间:2020年3月25日(星期三) 晚上6:09
> 收件人:"user-zh"
> 主题:Re: 关于flink sql 1.10 source并行度自动推断的疑问
>
>
>
> Hi Chief,
>
> 目前Hive connector读取数据是通过 InputFormatSourceFunction 来实现的。
> InputFormatSourceFunction 的工作模式不是预分配的模式,而是每个source task向master请求split。
> 如果某些source task提前调度起来且读完了所有的split,后调度起来的source task就没有数据可读了。
> 你可以看看JM/TM日志,确认下是不是前十个调度起来的source task读完了所有的数据。
>
> *Best Regards,*
> *Zhenghua Gao*
>
>
> On Wed, Mar 25, 2020 at 3:31 PM Chief 
>  hinbsp;Jun Zhang
>  您说的我明白,就是不太理解,为什么根据文件数量自动推断任务并行后,不是每个并行任务读取一个文件?
> 
> 
> 
> 
> 
>  --nbsp;原始邮件nbsp;------
>  发件人:nbsp;"Jun Zhang"  发送时间:nbsp;2020年3月25日(星期三) 上午9:08
>  收件人:nbsp;"user-zh" 
>  主题:nbsp;Re: 关于flink sql 1.10 source并行度自动推断的疑问
> 
> 
> 
>  hi,Chief:
> 
> 
> 
> 目前flink读取hive的时候,如果开启了自动推断,系统会根据所读取的文件数来推断并发,如果没有超过最大并发数(默认1000),source的并行度就等于你文件的个数,
>  你可以通过table.exec.hive.infer-source-parallelism.max来设置source的最大并发度。
> 
>  Kurt Young  
>  gt; 你的数据量有多大?有一个可能的原因是source的其他并发调度起来的时候,数据已经被先调度起来的并发读完了。
>  gt;
>  gt; Best,
>  gt; Kurt
>  gt;
>  gt;
>  gt; On Tue, Mar 24, 2020 at 10:39 PM Chief  gt;
>  wrote:
>  gt;
>  gt; gt; hi all:
>  gt; gt; 之前用flink sql查询hive的数据,hive的数据文件是150个,sql
>  gt; gt; client配置文件设置的并行度是10,source通过自动推断生成了150并发,但是通过看web
>  gt; gt; ui发现只有前十个子任务是读到数据了,其他的任务显示没有读到数据,请问是我设置有问题吗?
>  gt;



-- 
Best, Jingsong Lee


?????? ????flink sql 1.10 source????????????????????

2020-03-25 文章 Chief
hi Zhenghua Gao
??


----
??:"Zhenghua Gao"

Re: 关于flink sql 1.10 source并行度自动推断的疑问

2020-03-25 文章 Zhenghua Gao
Hi Chief,

目前Hive connector读取数据是通过 InputFormatSourceFunction 来实现的。
InputFormatSourceFunction 的工作模式不是预分配的模式,而是每个source task向master请求split。
如果某些source task提前调度起来且读完了所有的split,后调度起来的source task就没有数据可读了。
你可以看看JM/TM日志,确认下是不是前十个调度起来的source task读完了所有的数据。

*Best Regards,*
*Zhenghua Gao*


On Wed, Mar 25, 2020 at 3:31 PM Chief  wrote:

> hiJun Zhang
> 您说的我明白,就是不太理解,为什么根据文件数量自动推断任务并行后,不是每个并行任务读取一个文件?
>
>
>
>
>
> --原始邮件--
> 发件人:"Jun Zhang" 发送时间:2020年3月25日(星期三) 上午9:08
> 收件人:"user-zh"
> 主题:Re: 关于flink sql 1.10 source并行度自动推断的疑问
>
>
>
> hi,Chief:
>
>
> 目前flink读取hive的时候,如果开启了自动推断,系统会根据所读取的文件数来推断并发,如果没有超过最大并发数(默认1000),source的并行度就等于你文件的个数,
> 你可以通过table.exec.hive.infer-source-parallelism.max来设置source的最大并发度。
>
> Kurt Young 
>  你的数据量有多大?有一个可能的原因是source的其他并发调度起来的时候,数据已经被先调度起来的并发读完了。
> 
>  Best,
>  Kurt
> 
> 
>  On Tue, Mar 24, 2020 at 10:39 PM Chief  wrote:
> 
>   hi all:
>   之前用flink sql查询hive的数据,hive的数据文件是150个,sql
>   client配置文件设置的并行度是10,source通过自动推断生成了150并发,但是通过看web
>   ui发现只有前十个子任务是读到数据了,其他的任务显示没有读到数据,请问是我设置有问题吗?
> 


?????? ????flink sql 1.10 source????????????????????

2020-03-25 文章 Chief
hiJun Zhang






----
??:"Jun Zhang"

?????? ????flink sql 1.10 source????????????????????

2020-03-25 文章 Chief
hi Kurt Young
hive??13??web ui 
source??150source




----
??:"Kurt Young"

回复:关于flink sql 1.10 source并行度自动推断的疑问

2020-03-24 文章 Jun Zhang
hi,Chief:
  
目前flink读取hive的时候,如果开启了自动推断,系统会根据所读取的文件数来推断并发,如果没有超过最大并发数(默认1000),source的并行度就等于你文件的个数,
你可以通过table.exec.hive.infer-source-parallelism.max来设置source的最大并发度。



BestJun


-- 原始邮件 --
发件人: Kurt Young 

Re: 关于flink sql 1.10 source并行度自动推断的疑问

2020-03-24 文章 Jun Zhang
hi,Chief:

目前flink读取hive的时候,如果开启了自动推断,系统会根据所读取的文件数来推断并发,如果没有超过最大并发数(默认1000),source的并行度就等于你文件的个数,
你可以通过table.exec.hive.infer-source-parallelism.max来设置source的最大并发度。

Kurt Young  于2020年3月25日周三 上午8:53写道:

> 你的数据量有多大?有一个可能的原因是source的其他并发调度起来的时候,数据已经被先调度起来的并发读完了。
>
> Best,
> Kurt
>
>
> On Tue, Mar 24, 2020 at 10:39 PM Chief  wrote:
>
> > hi all:
> > 之前用flink sql查询hive的数据,hive的数据文件是150个,sql
> > client配置文件设置的并行度是10,source通过自动推断生成了150并发,但是通过看web
> > ui发现只有前十个子任务是读到数据了,其他的任务显示没有读到数据,请问是我设置有问题吗?
>


Re: 关于flink sql 1.10 source并行度自动推断的疑问

2020-03-24 文章 Kurt Young
你的数据量有多大?有一个可能的原因是source的其他并发调度起来的时候,数据已经被先调度起来的并发读完了。

Best,
Kurt


On Tue, Mar 24, 2020 at 10:39 PM Chief  wrote:

> hi all:
> 之前用flink sql查询hive的数据,hive的数据文件是150个,sql
> client配置文件设置的并行度是10,source通过自动推断生成了150并发,但是通过看web
> ui发现只有前十个子任务是读到数据了,其他的任务显示没有读到数据,请问是我设置有问题吗?


????flink sql 1.10 source????????????????????

2020-03-24 文章 Chief
hi all??
??flink sqlhivehive150sql 
client??10??source??150web 
ui