You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@storm.apache.org by Fred Miller <fr...@frederickmiller.com> on 2014/04/29 14:33:30 UTC
RedStorm: How to Add More than 1 JRubyShellBolt to a Topology
1. Using the shell_topology.rb example, it's not clear if we can have more
than 1 JRubyShellBolt in the topology.
Whereas the bolt definitions for the JRuby bolts are clear:
bolt TestBolt1 < RedStorm::DSL::Bolt
...
end
bolt TestBolt2 < RedStorm::DSL::Bolt
...
end,
it's unclear how to create more than one JRubyShellBolt:
Per the example:
bolt JRubyShellBolt, ["python", "splitsentence.py"] do
output_fields "word"
source SimpleSpout, :shuffle
end
How would I do something like:
bolt SplitSentence, ["python", "splitsentence.py"] do
output_fields "word"
source SimpleSpout, :shuffle
end
bolt SplitSentence2, ["python", "splitsentence.py"] do
output_fields "word"
source SplitSentence, :shuffle
end
2. Doing the following will NOT work,
java_import 'readstorm.storm.jruby.JRubyShellBolt'
SplitSentence = JRubyShellBolt
SplitSentence2 = JRubyShellBolt
and results in:
... duplicate id in Java::RedstormStormJruby::JRubyShellBolt on id=j_ruby_shell_bolt ...
because SplitSentence2 is a reference.
Thanks in advance,
Fred
Re: RedStorm: How to Add More than 1 JRubyShellBolt to a Topology
Posted by Fred Miller <fr...@frederickmiller.com>.
The solution ... thanks to Jess Hottenstein:
bolt JRubyShellBolt, ["python", "splitsentence.py"] do
output_fields "word"
source SimpleSpout, :shuffle
end
bolt JRubyShellBolt, ["python", "splitsentence2.py"], :id => :sentence2 do
output_fields "word2"
source SimpleSpout, :shuffle
end
On Apr 29, 2014, at 8:33 AM, Fred Miller <fr...@frederickmiller.com> wrote:
> 1. Using the shell_topology.rb example, it's not clear if we can have more
> than 1 JRubyShellBolt in the topology.
> Whereas the bolt definitions for the JRuby bolts are clear:
> bolt TestBolt1 < RedStorm::DSL::Bolt
> ...
> end
> bolt TestBolt2 < RedStorm::DSL::Bolt
> ...
> end,
>
> it's unclear how to create more than one JRubyShellBolt:
>
> Per the example:
> bolt JRubyShellBolt, ["python", "splitsentence.py"] do
> output_fields "word"
> source SimpleSpout, :shuffle
> end
>
> How would I do something like:
> bolt SplitSentence, ["python", "splitsentence.py"] do
> output_fields "word"
> source SimpleSpout, :shuffle
> end
> bolt SplitSentence2, ["python", "splitsentence.py"] do
> output_fields "word"
> source SplitSentence, :shuffle
> end
>
> 2. Doing the following will NOT work,
> java_import 'readstorm.storm.jruby.JRubyShellBolt'
> SplitSentence = JRubyShellBolt
> SplitSentence2 = JRubyShellBolt
>
> and results in:
>
> ... duplicate id in Java::RedstormStormJruby::JRubyShellBolt on id=j_ruby_shell_bolt ...
>
> because SplitSentence2 is a reference.
>
> Thanks in advance,
> Fred
>
>
>
>