Yes but I find this even easier to do with KSQL. 

CREATE STREAM OUTPUTTOPIC AS SELECT * FROM INPUTTOPIC;

There are similar examples like this that also filter messages while copying, 
or change the message format while copying on the KSQL Recipe page here
https://www.confluent.io/stream-processing-cookbook/

There is even an example for repartitioning topics using the PARTITIONS 
parameter.
CREATE STREAM clickstream_new WITH (PARTITIONS=5) AS SELECT * from 
clickstream_raw;
-hans

> On Jan 27, 2019, at 9:24 AM, Ryanne Dolan <ryannedo...@gmail.com> wrote:
> 
> You can use MirrorMaker to copy data between topics.
> 
> Ryanne
> 
>> On Sun, Jan 27, 2019, 7:12 AM jaaz jozz <jazzlo...@gmail.com wrote:
>> 
>> Thanks, Sönke
>> Is there any available kafka tool to move messages between topics?
>> 
>> On Sun, Jan 27, 2019 at 2:40 PM Sönke Liebau
>> <soenke.lie...@opencore.com.invalid> wrote:
>> 
>>> Hi Jazz,
>>> 
>>> I'm afraid the only way of rebalancing old messages is indeed to
>>> rewrite them to the topic - thus creating duplication.
>>> Once a message has been written to a partition by Kafka this
>>> assignment is final, there is no way of moving it to another
>>> partition.
>>> 
>>> Changing the partition count of topics at a later time can be a huge
>>> headache, if you depend on partitioning. For this exact reason the
>>> general recommendation is to overpartition your topics a little when
>>> creating them, so that you can add consumers as the data volume
>>> increases.
>>> 
>>> In your case the best solution might be to delete and then recreate
>>> the topic with more partitions. Now you can rewrite all your data and
>>> it will result in a clean partitioning.
>>> 
>>> Hope this helps a little, feel free to get back to us if you have more
>>> questions!
>>> 
>>> Best regards,
>>> Sönke
>>> 
>>>> On Sun, Jan 27, 2019 at 1:21 PM jaaz jozz <jazzlo...@gmail.com> wrote:
>>>> 
>>>> Hello,
>>>> 
>>>> I have kafka cluster with certain topic that had too few partitions,
>> so a
>>>> large backlog of messages was collected. After i added additional
>>>> partitions, only the newly messages balanced between all the new
>>> partitions.
>>>> 
>>>> What is the preferred way to balance the "old" backlog of messages
>> inside
>>>> the original partitions across all the new partitions?
>>>> 
>>>> I thought of reading and writing again all the messages backlog to this
>>>> topic and update the offsets accordingly, but it will make duplication
>> of
>>>> messages if a new consumer group will start consuming from the
>> beginning
>>> of
>>>> this topic.
>>>> 
>>>> How can i solve this?
>>>> 
>>>> Thanks.
>>> 
>>> 
>>> 
>>> --
>>> Sönke Liebau
>>> Partner
>>> Tel. +49 179 7940878
>>> OpenCore GmbH & Co. KG - Thomas-Mann-Straße 8 - 22880 Wedel - Germany
>>> 
>> 

Reply via email to