2015-09-28 129 views
1

字段分組可以將帶有特定字段的元組指向同一個任務。一個執行者可以包含多個任務。風暴螺栓中的任務變量

如果我聲明一個帶有私有變量整數的螺栓來計算元組。

public static class CountBolt implements IRichBolt { 
    OutputCollector _collector; 
    private int count; 

    public void prepare(Map conf, TopologyContext context, OutputCollector collector) { 
     _collector = collector; 
     count = 0; 
    } 

    public void execute(Tuple tuple) { 
     count = count + 1; 
     _collector.ack(tuple); 
    } 

    public void cleanup() { 
    } 

    public void declareOutputFields(OutputFieldsDeclarer declarer) { 
    } 

    public Map getComponentConfiguration() { 
     return null; 
    } 
} 

此計數是否顯示相同任務或同一個執行器的輸入總數?

回答

2

計數將是每個任務。每個任務都有自己的Spout/Bolt類的實例。

如果變量被聲明爲static,那麼這將是每個工人。 (不是每個執行者,因爲工人可能運行同一噴口/螺栓的多個執行者。)

相關問題