Thanks a lot Nathan!

On Mon, Mar 10, 2014 at 4:56 PM, Nathan Leung <[email protected]> wrote:

> You can do something like
>
> BoltDeclarer bd = builder.setBolt("myBoltB", boltB, boltBparallelism);
> for (int i = 1; i < numInstances; ++i) {
>     bd.shuffleGrouping("myBoltA" + i);
> }
>
>
> On Mon, Mar 10, 2014 at 11:52 AM, Susana González <[email protected]>wrote:
>
>> Hi,
>>
>>
>> I need help to go from a simple Storm topology like this:
>>
>>
>>
>> TopologyBuilder builder = *new* TopologyBuilder();
>>
>> builder.setSpout("mySpout", spout, spoutParallelism);
>>
>> builder.setBolt("myBoltA", boltA, boltAParallelism).shuffleGrouping(
>> "mySpout");
>>
>> builder.setBolt("myBoltB", boltB, boltBParallelism).shuffleGrouping(
>> "myBoltA");
>>
>>
>>
>> to a new topology  where there are several processes myBoltA* whose
>> emitted tuples need to be processed by a same process boltB.
>>
>>
>> The problem is that the number of processes myBoltA* I have is read from
>> a configuration file when the topology is started, so I don't know them a
>> priori to define the grouping in the code just with:
>>
>>
>>
>> builder.setBolt("myBoltB", boltB, boltBParallelism)
>>
>>    .shuffleGrouping("myBoltA1")
>>
>>    .shuffleGrouping("myBoltA2")
>>
>>    .etc...
>>
>>    .shuffleGrouping("myBoltAn");
>>
>>
>>
>> I've searched if it's possible to do it using a CustomStreamGrouping or
>> using Trident... but I haven't found how to implement it yet.
>>
>>
>>
>> Any idea?
>>
>>
>>
>> Thanks in advance!
>>
>>      Susana
>>
>>
>>
>

Reply via email to