Anyone has any idea on this please ?

Thanks

On Mon, Mar 17, 2014 at 1:34 PM, Binita Bharati
<binita.bhar...@gmail.com> wrote:
> Code sample :
>
> Topology :
> ===================================
> TopologyBuilder builder = new TopologyBuilder();
>
> builder.setSpout("epd-spout",new MyJmsSpout());
>
> builder.setBolt("epd-CPY001-bolt1", new Bolt1("CPY001"),
> parallelismHintMap.get("CPY001"))
> .shuffleGrouping("epd-spout");
>
>  builder.setBolt("epd-CPY001-bolt2", new Bolt2("CPY001"),
> parallelismHintMap.get("CPY001"))
> .fieldsGrouping("epd-CPY001-bolt1", new Fields("Bolt1Tuple"));
>
>
> Bolt1:
> ====================================
> public void declareOutputFields(OutputFieldsDeclarer declarer) {
> // TODO Auto-generated method stub
> declarer.declare(new Fields("Bolt1Tuple"));
> }
>
> public void execute(Tuple input) {
> Class1 class1Instance = (Class1)input.getValueByField("JmsSpoutTuple");
> collector.emit(new Values(class1Instance));
> }
>
>
> Bolt2:
> ======================================
> public void execute(Tuple input) {
> Class1 class1Instance = (Class1)input.getValueByField("Bolt1Tuple");
>
> }
>
> On Mon, Mar 17, 2014 at 1:19 PM, Binita Bharati
> <binita.bhar...@gmail.com> wrote:
>> Hi ,
>>
>> I have a Bolt1 that emits a tuple of type a.b.c.MyClass1. MyClass1 has
>> a String field - class1Key1.
>> I need to segregate all tuples having same value for
>> a.b.c.MyClass1:class1Key1 into a specific task in another Bolt2.
>>
>> How do I go about defining such a topology ? I have seen egs where
>> tuples emitted were simple string values. But, my emitted tuple is a
>> Class instance , and the field on which I want to do fieldGrouping is
>> a particular field of that Class.
>>
>> (I tried defining a equals and hashcode method in a.b.c.MyClass1.
>> Didn't work as expected..)
>>
>> Thanks
>> Binita

Reply via email to