Search code examples
apache-storm

Storm's multi-lang function


I am new in Storm. Recently I am trying to use Storm's multi-lang functions. However I have some very naive confusions.

  1. I thought the interaction of multilang of Storm should come with a storm.py, storm.js or storm.rb script in multilang/resources/ folder. But I only saw them in Storm 2.0.0 snapshot version, not found in any previous version. Did I understand right? And, /multilang/resources/storm.py is different from $STORM_HOME/bin/storm.py, is that correct?

  2. I can use extends ShellBolt and ShellSpout to make all components of a topology (Spouts and Bolts) working in other languages, right?

As before I only work on hardware, so this field may be new to me. Would anyone help me on these problems? Thanks.


Solution

    1. They're moved to separate modules, and you can just add needed multilang module as a dependency in your pom. Please refer https://github.com/apache/storm/blob/1.x-branch/examples/storm-starter/pom.xml.

    bin/storm.py is used for providing various commands storm <command>, not about multilang support.

    1. Sure. Please refer SplitSentence in https://github.com/apache/storm/blob/1.x-branch/examples/storm-starter/src/jvm/org/apache/storm/starter/WordCountTopology.java