xmen tutorial storm spark kafka español checker apache-storm

tutorial - ¿Cómo dividiría una secuencia en Apache Storm?



storm en español (2)

Puede usar diferentes transmisiones si su caso lo necesita, en realidad no se está dividiendo, pero tendrá mucha flexibilidad, podría usarlo para el enrutamiento basado en contenido de un tornillo, por ejemplo

Usted declara la corriente en el perno:

@Override public void declareOutputFields(final OutputFieldsDeclarer outputFieldsDeclarer) { outputFieldsDeclarer.declareStream("stream1", new Fields("field1")); outputFieldsDeclarer.declareStream("stream2", new Fields("field1")); }

Se emite desde el perno en la corriente elegida:

collector.emit("stream1", new Values("field1Value"));

Escuchas la transmisión correcta a través de la topología.

builder.setBolt("myBolt1", new MyBolt1()).shuffleGrouping("boltWithStreams", "stream1"); builder.setBolt("myBolt2", new MyBolt2()).shuffleGrouping("boltWithStreams", "stream2");

No entiendo cómo dividiría una secuencia en Apache Storm. Por ejemplo, tengo un perno A que después de algunos cálculos tiene somevalue1, somevalue2 y somevalue3. Quiere enviar somevalue1 a bolt B, somevalue2 to bolt C, y somevalue1, somevalue2 to bolt D. ¿Cómo haría esto en Storm? ¿Qué agrupación usaría y cómo sería mi topología? Gracias de antemano por su ayuda.


Tiene dos opciones aquí: Grupos de flujo y "Agrupación directa" . Dependiendo de tus necesidades, una de ellas te servirá.

Eche un vistazo al proyecto de ejemplo de WordCountTopology para ver si eso es lo que está buscando. De lo contrario, "Direct Grouping" será una alternativa mejor.

Pero nuevamente, elegir una estrategia de agrupación depende de sus requisitos.