storm trident

来源:互联网 发布:网络程控电话交换机 编辑:程序博客网 时间:2024/05/01 16:31



import java.util.List;
import backtype.storm.Config;
import backtype.storm.LocalCluster;
import backtype.storm.generated.StormTopology;
import backtype.storm.tuple.Fields;
import backtype.storm.tuple.Values;
import storm.trident.TridentTopology;
import storm.trident.operation.BaseFilter;
import storm.trident.operation.BaseFunction;
import storm.trident.operation.Filter;
import storm.trident.operation.TridentCollector;
import storm.trident.testing.FixedBatchSpout;
import storm.trident.tuple.TridentTuple;


public class TridentLocalPologyFilter {
public static class SumBolt extends BaseFunction{
@Override
public void execute(TridentTuple tuple, TridentCollector collector) {
Integer value0 = tuple.getInteger(0);
System.err.println("value0="+value0 );



}

}

public static class Filter extends BaseFilter{
@Override
public boolean isKeep(TridentTuple tuple) {
Integer value = tuple.getInteger(0);

return value%2==0?true:false;
}
}

public static void main(String[] args) {
//输出为new Fields("sentence")
FixedBatchSpout spout = new FixedBatchSpout(new Fields("sentence"), 1, new Values(1),new Values(2),new Values(3),new Values(6));
spout.setCycle(true);
//spout.setCycle(false);
TridentTopology tridentTopology = new TridentTopology();
tridentTopology.newStream("spout1", spout)
.each(new Fields("sentence"), new Filter())
.each(new Fields("sentence"), new SumBolt(), new Fields(""));

    LocalCluster localCluster = new LocalCluster();
    localCluster.submitTopology("trident", new Config(), tridentTopology.build());
}
}
0 0
原创粉丝点击