Thanks Till , I will do some test about this , will this be some public
feature in next release version or later?

Till Rohrmann <trohrm...@apache.org> 于2020年1月10日周五 上午6:15写道:

> Hi,
>
> you would need to set the co-location constraint in order to ensure that
> the sub-tasks of operators are deployed to the same machine. It effectively
> means that subtasks a_i, b_i  of operator a and b will be deployed to the
> same slot. This feature is not super well exposed but you can take a look
> at [1] to see how it can be used.
>
> [1] https://issues.apache.org/jira/browse/FLINK-9809
>
> Cheers,
> Till
>
> On Fri, Jan 10, 2020 at 9:08 AM Zhijiang <wangzhijiang...@aliyun.com>
> wrote:
>
>> Only chained operators can avoid record serialization cost, but the
>> chaining mode can not support keyed stream.
>> If you want to deploy downstream with upstream in the same task manager,
>> it can avoid network shuffle cost which can still get performance benefits.
>> As I know @Till Rohrmann has implemented some enhancements in scheduler
>> layer to support such requirement in release-1.10. You can have a try when
>> the rc candidate is ready.
>>
>> Best,
>> Zhijiang
>>
>> ------------------------------------------------------------------
>> From:杨东晓 <laolang...@gmail.com>
>> Send Time:2020 Jan. 10 (Fri.) 02:10
>> To:Congxian Qiu <qcx978132...@gmail.com>
>> Cc:user <user@flink.apache.org>
>> Subject:Re: How can I find out which key group belongs to which subtask
>>
>> Thanks Congxian!
>>  My purpose is not only make data goes into one same subtask but the
>> specific subtask which belongs to same taskmanager with upstream record.
>> The key idea is to avoid shuffling  between taskmanagers.
>> I think the KeyGroupRangeAssignment.java
>> <https://github.com/apache/flink/blob/master/flink-runtime/src/main/java/org/apache/flink/runtime/state/KeyGroupRangeAssignment.java>
>> explained a lot about how to get keygroup and subtask context that can make
>> that happen.
>> Do you know if there are still  serialization happening while data
>> transferred between operator in same taskmanager?
>> Thanks.
>>
>> Congxian Qiu <qcx978132...@gmail.com> 于2020年1月9日周四 上午1:55写道:
>> Hi
>>
>> If you just want to make sure some key goes into the same subtask, does
>> custom key selector[1] help?
>>
>> For the keygroup and subtask information, you can ref to
>> KeyGroupRangeAssignment[2] for more info, and the max parallelism logic you
>> can ref to doc[3]
>>
>> [1]
>> https://ci.apache.org/projects/flink/flink-docs-stable/dev/api_concepts.html#define-keys-using-key-selector-functions
>> [2]
>> https://github.com/apache/flink/blob/master/flink-runtime/src/main/java/org/apache/flink/runtime/state/KeyGroupRangeAssignment.java
>> [3]
>> https://ci.apache.org/projects/flink/flink-docs-stable/dev/parallel.html#setting-the-maximum-parallelism
>>
>> Best,
>> Congxian
>>
>>
>> 杨东晓 <laolang...@gmail.com> 于2020年1月9日周四 上午7:47写道:
>> Hi , I'm trying to do some optimize about Flink 'keyby' processfunction.
>> Is there any possible I can find out one key belongs to which key-group
>> and essentially find out one key-group belongs to which subtask.
>> The motivation I want to know that is we want to  force the data records
>> from upstream still goes to same taskmanager downstream subtask .Which
>> means even if we use a keyedstream function we still want no cross jvm
>> communication happened during run time.
>> And if we can achieve that , can we also avoid the expensive cost for
>> record serialization because data is only transferred in same taskmanager
>> jvm instance?
>>
>> Thanks.
>>
>>
>>

Reply via email to