package com.alimama.mdrillImport; import java.util.HashMap; import java.util.List; import java.util.Map; import com.alimama.mdrill.topology.MdrillDefaultTaskAssignment; import com.alimama.mdrill.topology.MdrillTaskAssignment; import com.alipay.bluewhale.core.custom.CustomAssignment; import com.alipay.bluewhale.core.utils.StormUtils; import backtype.storm.Config; import backtype.storm.StormSubmitter; import backtype.storm.generated.AlreadyAliveException; import backtype.storm.generated.InvalidTopologyException; import backtype.storm.generated.StormTopology; import backtype.storm.task.TopologyContext; import backtype.storm.topology.TopologyBuilder; import backtype.storm.tuple.Fields; import backtype.storm.utils.Utils; public class TopologyPrint { public static class TopologyText extends TopologyContext { static Map<Integer, String> taskToComponent=new HashMap<Integer, String>(); static { taskToComponent.put(0, "text"); } public TopologyText() { super(null, taskToComponent, "", "", "", 0); } } public static void main(String[] args) throws AlreadyAliveException, InvalidTopologyException { Map stormconf = Utils.readStormConfig(); Config conf = new Config(); conf.putAll(stormconf); conf.setMessageTimeoutSecs(10); String topologyName=args[0]; String[] prefixlist=args[1].split(","); TopologyBuilder builder = new TopologyBuilder(); if(args.length>=6) { String tttime=args[5]; for(String prefix:prefixlist) { conf.put(prefix+"-start-time", tttime); } } for(String prefix:prefixlist) { conf.put(prefix+"-validate-time", System.currentTimeMillis()); } for(String prefix:prefixlist) { ImportSpoutLocalForParseTest test=new ImportSpoutLocalForParseTest(prefix); test.open(conf,new TopologyText()); while(true) { test.nextTuple(); } } } }