I tried out ShellBolt examples and it works like a charm.  I went through the 
multi-lang protocol doc as well and understand it at a high level. 


Now what I dont understand is the following:
-  With a shell bolt, how can you get the output of the external process (say 
python process) and do something with it and 

    then emit the tuple from the Java code?
-  This should be possible but somehow I have to make sure there is only one 
emit that is happening from my shellbolt. 

1. My Shellbolt gets the tuple
2. I then pass the data to the external python process
3. get the result/tuple from python process
4. Do something else with it in my java code and then emit the tuple to 
downstream bolt
   

How would I be able to do this?  Any examples/pointers would really help. So 
the flow would be:

public static class SomeBolt extends ShellBolt implements IRichBolt { 
                public SomeBolt(){ 
                        super("python", "some.py"); 

                } 
                @Override 
                public void declareOutputFields(OutputFieldsDeclarer declarer) 
{ 
                        declarer.declare(new Fields("someData")); 
                } 
        } 

thanks
Aditya

Reply via email to