Need to submit a KIP for https://issues.apache.org/jira/browse/KAFKA-3209. 
Please provide wiki write access to ‘snisarg’. 

Thanks,
Nisarg Shah.

> On Jun 28, 2016, at 6:27 PM, Nisarg Shah <snis...@gmail.com> wrote:
> 
> Need permissions to edit the wiki. Username is ‘snisarg’. 
> 
> Thanks,
> Nisarg.
> 
>> On Jun 28, 2016, at 09:08, Nisarg Shah <snis...@gmail.com 
>> <mailto:snis...@gmail.com>> wrote:
>> 
>> Hello,
>> 
>> I need to create a page so that I can write a Kafka Improvement Proposal for 
>> the below. My username is ‘snisarg’. 
>> 
>> Thanks,
>> Nisarg
>> 
>>> On Jun 19, 2016, at 10:43 PM, Nisarg Shah <snis...@gmail.com 
>>> <mailto:snis...@gmail.com>> wrote:
>>> 
>>> Hello,
>>> 
>>> I am looking to do https://issues.apache.org/jira/browse/KAFKA-3209 
>>> <https://issues.apache.org/jira/browse/KAFKA-3209>. I wanted feedback from 
>>> the devs for the design that I’m proposing to put in place. Thanks a lot 
>>> for all the discussions Ewen Cheslack-Postava.
>>> 
>>> A gist of how I plan to do it is by using ‘Transformers’ that can be 
>>> configurationally chained together and data will pass through them between 
>>> a source and destination for Kafka Connect.
>>> 
>>> To set up transformers, we propose using the properties to define 
>>> Transformer classes one after the other. 
>>> transformer=abc.Transformer1,xyz.Transformer2
>>> 
>>> Each transformer can get specific properties passed on from the same 
>>> properties file, as it is with the Connectors.
>>> 
>>> About the actual signature for the transformation function that does all 
>>> the work, how’s this interface? 
>>> public abstract class Transformer<T1, T2> {
>>>     public abstract T2 transform(T1 t1);
>>> 
>>>     public void initialize(Map<String, String> props) {}
>>> }
>>> 
>>> Approach 1:
>>> Functionally, the complete data can be passed. 
>>> Just as the *Tasks get a complete List<*Record>, the transformer can get 
>>> the same. The whole list passing makes rearranging or merging data 
>>> possible. This can be helpful if transformations require looking up or down 
>>> the messages. Allowing custom datatypes between transformers will allow 
>>> custom objects to be passed around intermediate. Casting could be an issue.
>>> 
>>> Approach 2: 
>>> Taking a simplistic approach and doing a message by message transformation. 
>>> The transformer could store data from the previous message, but not go down 
>>> the list of messages. From the comments by Michael Graff, both approaches 
>>> would work, but if down looking is required, we would have to go with 
>>> Approach 1. 
>>> 
>>> I will also have a working change ready for Approach 1 very soon but till 
>>> then, please give me your suggestions. 
>>> 
>>> Thanks,
>>> Nisarg.
>>> 
>>> 
>>> 
>>> 
>> 
> 

Reply via email to