[ 
https://issues.apache.org/jira/browse/KAFKA-7189?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Abdelhamide EL ARIB updated KAFKA-7189:
---------------------------------------
    Description: 
Like the 
[flatten|https://docs.confluent.io/current/connect/transforms/flatten.html#flatten],
 there is the need too for a merge transformer.

Example transformation : 

We want to add the offset and the partition for each record, and after that 
merge them into one field _metadata :

 
{code:java}
"transforms":"AddOffset, AddPartition, MergeFields", 

"transforms.AddOffset.type":"org.apache.kafka.connect.transforms.InsertField$Value",
"transforms.AddOffset.offset.field":"offset!",

"transforms.AddPartition.type":"org.apache.kafka.connect.transforms.InsertField$Value",
"transforms.AddPartition.partition.field":"partition!",

"transforms.MergeFields.type":"org.apache.kafka.connect.transforms.Merge$Value",
"transforms.MergeFields.field.list":"offset,partition",
"transforms.MergeFields.field.root":"_metadata"
{code}
 

field.root : Field name for the root field. 

field.list: The list of fields to merge under the root field. Suffix with `*` 
to keep it in top level, and prefix it if it's opotional.

 

 

This is our MR for this transformer [https://github.com/apache/kafka/pull/5405]

  was:
Like the 
[flatten|https://docs.confluent.io/current/connect/transforms/flatten.html#flatten],
 there is the need too for a merge transformer.

Example transformation : 

We want to add the offset and the partition for each record, and after that 
merge them into one field _metadata :

 
{code:java}
"transforms":"AddOffset, AddPartition, MergeFields", 

"transforms.AddOffset.type":"org.apache.kafka.connect.transforms.InsertField$Value",
"transforms.AddOffset.offset.field":"offset!",

"transforms.AddPartition.type":"org.apache.kafka.connect.transforms.InsertField$Value",
"transforms.AddPartition.partition.field":"partition!",

"transforms.MergeFields.type":"org.apache.kafka.connect.transforms.Merge$Value",
"transforms.MergeFields.field.list":"offset,partition",
"transforms.MergeFields.field.root":"_metadata"
{code}
 

field.root : Field name for the root field. 

field.list: The list of fields to merge under the root field. Suffix with * to 
keep it in top level, and prefix it if it's opotional

 

 

This is our MR for this transformer [https://github.com/apache/kafka/pull/5405]


> Add a Merge Transformer for Kafka Connect
> -----------------------------------------
>
>                 Key: KAFKA-7189
>                 URL: https://issues.apache.org/jira/browse/KAFKA-7189
>             Project: Kafka
>          Issue Type: Improvement
>          Components: KafkaConnect
>            Reporter: Abdelhamide EL ARIB
>            Priority: Minor
>
> Like the 
> [flatten|https://docs.confluent.io/current/connect/transforms/flatten.html#flatten],
>  there is the need too for a merge transformer.
> Example transformation : 
> We want to add the offset and the partition for each record, and after that 
> merge them into one field _metadata :
>  
> {code:java}
> "transforms":"AddOffset, AddPartition, MergeFields", 
> "transforms.AddOffset.type":"org.apache.kafka.connect.transforms.InsertField$Value",
> "transforms.AddOffset.offset.field":"offset!",
> "transforms.AddPartition.type":"org.apache.kafka.connect.transforms.InsertField$Value",
> "transforms.AddPartition.partition.field":"partition!",
> "transforms.MergeFields.type":"org.apache.kafka.connect.transforms.Merge$Value",
> "transforms.MergeFields.field.list":"offset,partition",
> "transforms.MergeFields.field.root":"_metadata"
> {code}
>  
> field.root : Field name for the root field. 
> field.list: The list of fields to merge under the root field. Suffix with `*` 
> to keep it in top level, and prefix it if it's opotional.
>  
>  
> This is our MR for this transformer 
> [https://github.com/apache/kafka/pull/5405]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to