2021SC@SDUSC
以代码为例:
public class Toplogy {
public static void main(String[] args) {
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("spout", new Spot(), 1);
builder.setBolt("bolt",new Bolt() , 3).fieldsGrouping("spout", new Fields("field0"));
Config conf = new Config();
conf.setDebug(false);
LocalCluster cluster = new LocalCluster();
cluster.submitTopology("toplogy", conf, builder.createTopology());
Utils.sleep(10000);
cluster.shutdown();
}
在上面Toplogy的main方法内,我们看到bolt接收的数据是按spot的field0字段进行分组,并且启用3个bolt线程来接收元组数据。
public class Spot implements IRichSpout{
int count = 0;
String[] array0 = {"aa","bb","cc","aa","bb","bb","bb","cc","dd","&