apex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sandeep Deshmukh <sand...@datatorrent.com>
Subject Re: Proposal: Variation for the Apex Api
Date Mon, 11 Apr 2016 04:28:15 GMT
Are you suggesting we add only the input adapters to the dag and then all
the connected ones are added by simply traversing the DAG?

Regards,
Sandeep

On Fri, Apr 8, 2016 at 11:06 PM, Sandesh Hegde <sandesh@datatorrent.com>
wrote:

> Hello Team,
>
> As we were talking about High Level api in another thread, here is a small
> variation proposal for our existing apis,
>
> Take look at the current code and the proposed code
>
> Current Style
> ---------------------------
>    KafkaSinglePortStringInputOperator kafkaInput =
> dag.addOperator("kafkaInput", new KafkaSinglePortStringInputOperator());
>     DeserializeJSON deserializeJSON = dag.addOperator("deserialize", new
> DeserializeJSON());
>     RedisJoin redisJoin = dag.addOperator("redisJoin", new RedisJoin());
>     CampaignProcessorWithApexWindow campaignProcessor =
> dag.addOperator("campaignProcessor", new
> CampaignProcessorWithApexWindow());
>
>     // Connect the Ports in the Operators
>     dag.addStream("deserialize", kafkaInput.outputPort,
> deserializeJSON.input) ;
>     dag.addStream("redisJoin", filterFields.output, redisJoin.input) ;
>     dag.addStream("output", redisJoin.output, campaignProcessor.input);
> -------------------------------------
>
>
> Proposed Change ( Just create Operators and connect the output port to
> input ports and then add the input operators to DAG )
> -------------------------------------------
>     KafkaSinglePortStringInputOperator kafkaSinglePortStringInputOperator =
> new KafkaSinglePortStringInputOperator() ;
>     DeserializeJSON deserializeJSON = new DeserializeJSON();
>     RedisJoin redisJoin = new RedisJoin() ;
>     CampaignProcessor campaignProcessor =  new CampaignProcessor() ;
>
>     kafkaInput.outputPort.connect(deserializeJSON.input);
>     filterFields.output.connect(redisJoin.input) ;
>     redisJoin.output.connect(campaignProcessor.input) ;
>
>     dag.add(kafkaInput);
> -----------------------------------------
>
> Things to note : Name can be generated internally or user can specify a
> name property of the operator ( like Dag.AddOperator("name", ...) )
>
> Let me know your thoughts.
>
> Thanks
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message