[
https://issues.apache.org/jira/browse/FLINK-15670?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17035733#comment-17035733
]
Stephan Ewen commented on FLINK-15670:
--------------------------------------
That is a good PoC! Some thoughts about the issues you raised:
* About the deprecated constructors in the {{KafkaProducer}}: That is indeed
strange, I need to investigate this further. I think this should not be a
blocker for now.
* Using {{KeyGroupRangeAssignment.assignKeyToParallelOperator}} looks like the
right way to go.
* You can turn a stream into a keyed stream (without shuffle) via
{{org.apache.flink.streaming.api.datastream.DataStreamUtils.reinterpretAsKeyedStream(...)}}
* When deciding which topic partitions a parallel instance of the KafkaSource
should read, we should always use whatever the
{{KeyGroupRangeAssignment.computeKeyGroupRangeForOperatorIndex(...)}} gives us,
to be sure we are consistent. That would be easiest if we can restrict this
initially to setups where "num-kafka-partitions-in-topic ==
flink-max-parallelism"
*
> Provide a Kafka Source/Sink pair that aligns Kafka's Partitions and Flink's
> KeyGroups
> -------------------------------------------------------------------------------------
>
> Key: FLINK-15670
> URL: https://issues.apache.org/jira/browse/FLINK-15670
> Project: Flink
> Issue Type: New Feature
> Components: API / DataStream, Connectors / Kafka
> Reporter: Stephan Ewen
> Priority: Major
> Labels: usability
> Fix For: 1.11.0
>
>
> This Source/Sink pair would serve two purposes:
> 1. You can read topics that are already partitioned by key and process them
> without partitioning them again (avoid shuffles)
> 2. You can use this to shuffle through Kafka, thereby decomposing the job
> into smaller jobs and independent pipelined regions that fail over
> independently.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)