本文整理匯總了Java中backtype.storm.LocalCluster.submitTopology方法的典型用法代碼示例。如果您正苦於以下問題:Java LocalCluster.submitTopology方法的具體用法?Java LocalCluster.submitTopology怎麽用?Java LocalCluster.submitTopology使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類backtype.storm.LocalCluster
的用法示例。
在下文中一共展示了LocalCluster.submitTopology方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: main
import backtype.storm.LocalCluster; //導入方法依賴的package包/類
public static void main(String[] args) throws Exception {
Config conf = new Config();
conf.setMaxSpoutPending(5);
if (args.length == 1) {
LocalCluster cluster = new LocalCluster();
cluster.submitTopology("wordCounter", conf, buildTopology(args[0]));
Thread.sleep(60 * 1000);
cluster.killTopology("wordCounter");
cluster.shutdown();
System.exit(0);
}
else if(args.length == 2) {
conf.setNumWorkers(3);
StormSubmitter.submitTopology(args[1], conf, buildTopology(args[0]));
} else{
System.out.println("Usage: TridentFileTopology <hdfs url> [topology name]");
}
}
示例2: main
import backtype.storm.LocalCluster; //導入方法依賴的package包/類
public static void main(String[] args) throws Exception {
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("word", new TestWordSpout(), 10);
builder.setBolt("exclaim1", new ExclamationBolt(), 3).shuffleGrouping("word");
builder.setBolt("exclaim2", new ExclamationBolt(), 2).shuffleGrouping("exclaim1");
Config conf = new Config();
conf.setDebug(true);
if (args != null && args.length > 0) {
conf.setNumWorkers(3);
StormSubmitter.submitTopologyWithProgressBar(args[0], conf, builder.createTopology());
}
else {
LocalCluster cluster = new LocalCluster();
cluster.submitTopology("test", conf, builder.createTopology());
Utils.sleep(10000);
cluster.killTopology("test");
cluster.shutdown();
}
}
示例3: submitTopology
import backtype.storm.LocalCluster; //導入方法依賴的package包/類
private static void submitTopology(TopologyBuilder builder) {
try {
if (local_mode(conf)) {
LocalCluster cluster = new LocalCluster();
cluster.submitTopology(
String.valueOf(conf.get("topology.name")), conf,
builder.createTopology());
Thread.sleep(200000);
cluster.shutdown();
} else {
StormSubmitter.submitTopology(
String.valueOf(conf.get("topology.name")), conf,
builder.createTopology());
}
} catch (Exception e) {
LOG.error(e.getMessage(), e.getCause());
}
}
示例4: main
import backtype.storm.LocalCluster; //導入方法依賴的package包/類
public static void main(String[] args) throws Exception {
Config conf = new Config();
conf.setMaxSpoutPending(20);
if (args.length == 0) {
LocalDRPC drpc = new LocalDRPC();
LocalCluster cluster = new LocalCluster();
cluster.submitTopology("wordCounter", conf, buildTopology(drpc));
for (int i = 0; i < 100; i++) {
System.out.println("DRPC RESULT: " + drpc.execute("words", "cat the dog jumped"));
Thread.sleep(1000);
}
}
else {
conf.setNumWorkers(3);
StormSubmitter.submitTopologyWithProgressBar(args[0], conf, buildTopology(null));
}
}
示例5: main
import backtype.storm.LocalCluster; //導入方法依賴的package包/類
public static void main(String[] args) throws Exception {
MemoryTransactionalSpout spout = new MemoryTransactionalSpout(DATA, new Fields("word"), PARTITION_TAKE_PER_BATCH);
TransactionalTopologyBuilder builder = new TransactionalTopologyBuilder("top-n-words", "spout", spout, 2);
builder.setBolt("count", new KeyedCountUpdater(), 5).fieldsGrouping("spout", new Fields("word"));
builder.setBolt("bucketize", new Bucketize()).noneGrouping("count");
builder.setBolt("buckets", new BucketCountUpdater(), 5).fieldsGrouping("bucketize", new Fields("bucket"));
LocalCluster cluster = new LocalCluster();
Config config = new Config();
config.setDebug(true);
config.setMaxSpoutPending(3);
cluster.submitTopology("top-n-topology", config, builder.buildTopology());
Thread.sleep(3000);
cluster.shutdown();
}
示例6: main
import backtype.storm.LocalCluster; //導入方法依賴的package包/類
public static void main(String[] args) {
TopologyBuilder builder = new TopologyBuilder();
LocalDRPC drpc = new LocalDRPC();
DRPCSpout spout = new DRPCSpout("exclamation", drpc);
builder.setSpout("drpc", spout);
builder.setBolt("exclaim", new ExclamationBolt(), 3).shuffleGrouping("drpc");
builder.setBolt("return", new ReturnResults(), 3).shuffleGrouping("exclaim");
LocalCluster cluster = new LocalCluster();
Config conf = new Config();
cluster.submitTopology("exclaim", conf, builder.createTopology());
System.out.println(drpc.execute("exclamation", "aaa"));
System.out.println(drpc.execute("exclamation", "bbb"));
}
示例7: main
import backtype.storm.LocalCluster; //導入方法依賴的package包/類
public static void main(String[] args) throws AlreadyAliveException,
InvalidTopologyException {
TopologyBuilder builder = new TopologyBuilder();
List<String> zks = new ArrayList<String>();
zks.add("192.168.41.122");
List<String> cFs = new ArrayList<String>();
cFs.add("personal");
cFs.add("company");
// set the spout class
builder.setSpout("spout", new SampleSpout(), 2);
// set the bolt class
builder.setBolt("bolt", new StormRedisBolt("192.168.41.122",2181), 2).shuffleGrouping("spout");
Config conf = new Config();
conf.setDebug(true);
// create an instance of LocalCluster class for
// executing topology in local mode.
LocalCluster cluster = new LocalCluster();
// LearningStormTopolgy is the name of submitted topology.
cluster.submitTopology("StormRedisTopology", conf,
builder.createTopology());
try {
Thread.sleep(10000);
} catch (Exception exception) {
System.out.println("Thread interrupted exception : " + exception);
}
// kill the LearningStormTopology
cluster.killTopology("StormRedisTopology");
// shutdown the storm test cluster
cluster.shutdown();
}
示例8: macVendorTest
import backtype.storm.LocalCluster; //導入方法依賴的package包/類
@Test
public void macVendorTest() throws FileNotFoundException {
File fileFlow = new File(Thread.currentThread().getContextClassLoader().getResource("inputData/flows.json").getPath());
File checkFlow = new File(Thread.currentThread().getContextClassLoader().getResource("dataCheck/macVendorFlows.json").getPath());
Scanner flows = new Scanner(fileFlow);
Scanner checkFlows = new Scanner(checkFlow);
MacVendorFunction._ouiFilePath = Thread.currentThread().getContextClassLoader().getResource("db/oui-vendors").getPath();
List<String> fieldsFlow = new ArrayList<String>();
fieldsFlow.add("flows");
fieldsFlow.add("macVendor");
LocalDRPC drpc = new LocalDRPC();
TridentTopology topology = new TridentTopology();
topology.newDRPCStream("test", drpc)
.each(new Fields("args"), new MapperFunction("rb_test"), new Fields("flows"))
.each(new Fields("flows"), new MacVendorFunction(), new Fields("macVendor"))
.each(new Fields(fieldsFlow), new MergeMapsFunction(), new Fields("finalMap"))
.project(new Fields("finalMap"))
.each(new Fields("finalMap"), new MapToJSONFunction(), new Fields("jsonString"));
Config conf = new Config();
conf.put("rbDebug", true);
conf.setMaxTaskParallelism(1);
LocalCluster cluster = new LocalCluster();
cluster.submitTopology("testing-topology", conf, topology.build());
while (flows.hasNextLine()) {
String stormFlow = drpc.execute("test", flows.nextLine());
stormFlow = stormFlow.substring(stormFlow.indexOf("{"), stormFlow.indexOf("}") + 1);
Assert.assertEquals(checkFlows.nextLine(), stormFlow);
}
}
示例9: nonTimestampTest
import backtype.storm.LocalCluster; //導入方法依賴的package包/類
@Test
public void nonTimestampTest() throws FileNotFoundException {
File fileFlow = new File(Thread.currentThread().getContextClassLoader().getResource("inputData/nonTimestampFlows.json").getPath());
Scanner flows = new Scanner(fileFlow);
List<String> fieldsFlow = new ArrayList<String>();
fieldsFlow.add("flows");
LocalDRPC drpc = new LocalDRPC();
TridentTopology topology = new TridentTopology();
topology.newDRPCStream("test", drpc)
.each(new Fields("args"), new MapperFunction("rb_test"), new Fields("flows"))
.each(new Fields("flows"), new CheckTimestampFunction(), new Fields("finalMap"))
.project(new Fields("finalMap"))
.each(new Fields("finalMap"), new MapToJSONFunction(), new Fields("jsonString"));
Config conf = new Config();
conf.put("rbDebug", true);
conf.setMaxTaskParallelism(1);
LocalCluster cluster = new LocalCluster();
cluster.submitTopology("testing-topology", conf, topology.build());
while (flows.hasNextLine()) {
String stormFlow = drpc.execute("test", flows.nextLine());
stormFlow = stormFlow.substring(stormFlow.indexOf("{"), stormFlow.indexOf("}") + 1);
Assert.assertEquals(true, stormFlow.contains("timestamp"));
}
}
示例10: analizeHttpUrlTest
import backtype.storm.LocalCluster; //導入方法依賴的package包/類
@Test
public void analizeHttpUrlTest() throws FileNotFoundException {
File fileFlow = new File(Thread.currentThread().getContextClassLoader().getResource("inputData/httpFlows.json").getPath());
File checkFlow = new File(Thread.currentThread().getContextClassLoader().getResource("dataCheck/httpFlows.json").getPath());
Scanner flows = new Scanner(fileFlow);
Scanner checkFlows = new Scanner(checkFlow);
List<String> fieldsFlow = new ArrayList<String>();
fieldsFlow.add("flows");
fieldsFlow.add("httpUrlMap");
LocalDRPC drpc = new LocalDRPC();
TridentTopology topology = new TridentTopology();
topology.newDRPCStream("test", drpc)
.each(new Fields("args"), new MapperFunction("rb_test"), new Fields("flows"))
.each(new Fields("flows"), new AnalizeHttpUrlFunction(), new Fields("httpUrlMap"))
.each(new Fields(fieldsFlow), new MergeMapsFunction(), new Fields("finalMap"))
.project(new Fields("finalMap"))
.each(new Fields("finalMap"), new MapToJSONFunction(), new Fields("jsonString"));
Config conf = new Config();
conf.put("rbDebug", true);
conf.setMaxTaskParallelism(1);
LocalCluster cluster = new LocalCluster();
cluster.submitTopology("testing-topology", conf, topology.build());
while (flows.hasNextLine()) {
String stormFlow = drpc.execute("test", flows.nextLine());
stormFlow = stormFlow.substring(stormFlow.indexOf("{"), stormFlow.indexOf("}") + 1);
Assert.assertEquals(checkFlows.nextLine(), stormFlow);
}
}
示例11: main
import backtype.storm.LocalCluster; //導入方法依賴的package包/類
public static void main(String[] args) throws Exception {
LOG.info("Reading JSON file configuration...");
JSONProperties config = new JSONProperties("/topology.json");
TopologyBuilder builder = new TopologyBuilder();
/* Spout Configuration */
JSONArray spouts = config.getSpouts();
configureSpouts(builder, spouts);
/* Bolt Configuration */
JSONArray bolts = config.getBolts();
configureBolts(builder, bolts);
/* Drain Configuration */
JSONArray drains = config.getDrains();
configureDrains(builder, drains);
/* Configure more Storm options */
Config conf = setTopologyStormConfig(config.getProperties());
if(config.getProperty("name") != null){
StormSubmitter.submitTopology((String)config.getProperty("name"), conf, builder.createTopology());
} else {
conf.setDebug(true);
LocalCluster cluster = new LocalCluster();
cluster.submitTopology("test", conf, builder.createTopology());
Utils.sleep(1000000); // Alive for 100 seconds = 100000 ms
cluster.killTopology("test");
cluster.shutdown();
}
}
示例12: main
import backtype.storm.LocalCluster; //導入方法依賴的package包/類
public static void main(String[] args) throws Exception {
BasicConfigurator.configure();
if (args != null && args.length > 0) {
StormSubmitter.submitTopology(args[0], createConfig(false), createTopology());
} else {
LocalCluster cluster = new LocalCluster();
cluster.submitTopology("sentiment-analysis", createConfig(true), createTopology());
Thread.sleep(60000);
cluster.shutdown();
}
}
示例13: main
import backtype.storm.LocalCluster; //導入方法依賴的package包/類
public static void main(String[] args) throws Exception {
Config config = new Config();
RandomJsonTestSpout spout = new RandomJsonTestSpout().withComplexJson(false);
String2ByteArrayTupleMapper tuppleMapper = new String2ByteArrayTupleMapper();
tuppleMapper.configure(CmnStormCons.TUPLE_FIELD_MSG);
/*PairNode<String, IRecordHandler<?, ?>>[] resultRecordHandlers = new PairNode[] { new PairNode(
CmnStormCons.TUPLE_FIELD_MSG,
RecordHandlerFactory.createMyObject(String.class, new JsonNode2StringResultMapper())) };*/
MorphlinesBolt morphBolt = new MorphlinesBolt()
.withTupleMapper(tuppleMapper)
.withMorphlineId("json2string")
.withMorphlineConfFile("target/test-classes/morphline_confs/json2string.conf")
//.withOutputProcessors(Arrays.asList(resultRecordHandlers));
.withOutputFields(CmnStormCons.TUPLE_FIELD_MSG)
.withRecordMapper(RecordHandlerFactory.genDefaultRecordHandler(String.class, new JsonNode2StringResultMapper()));
LoggingBolt printBolt = new LoggingBolt().withFields(CmnStormCons.TUPLE_FIELD_MSG);
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("WORD_SPOUT", spout, 1);
builder.setBolt("MORPH_BOLT", morphBolt, 1).shuffleGrouping("WORD_SPOUT");
builder.setBolt("PRINT_BOLT", printBolt, 1).shuffleGrouping("MORPH_BOLT");
if (args.length == 0) {
LocalCluster cluster = new LocalCluster();
cluster.submitTopology("MyDummyJson2StringTopology", config, builder.createTopology());
Thread.sleep(10000);
cluster.killTopology("MyDummyJson2StringTopology");
cluster.shutdown();
System.exit(0);
} else if (args.length == 1) {
StormSubmitter.submitTopology(args[0], config, builder.createTopology());
} else {
System.out.println("Usage: DummyJson2StringTopology <topology_name>");
}
}
示例14: main
import backtype.storm.LocalCluster; //導入方法依賴的package包/類
public static void main(String[] args) throws AlreadyAliveException, InvalidTopologyException {
TopologyBuilder builder = new TopologyBuilder();
LOGGER.info("Starting..");
builder.setSpout("trade", new DeliveryCheckSpout(), 1);
builder.setBolt("eligibility", new DeliveryCheckBolt(), 10).shuffleGrouping("trade");
builder.setBolt("odd", new DeliveryCheckOddBolt(), 10).shuffleGrouping("eligibility",
"oddstream");
builder.setBolt("even", new DeliveryCheckEvenBolt(), 10).shuffleGrouping("eligibility",
"evenstream");
Config conf = new Config();
conf.setDebug(false);
conf.setMaxSpoutPending(5);
if (args != null && args.length > 0) {
conf.setNumWorkers(1);
LOGGER.info("Submitting DeliveryTopology");
StormSubmitter.submitTopologyWithProgressBar(args[0], conf, builder.createTopology());
} else {
LocalCluster cluster = new LocalCluster();
cluster.submitTopology("DeliveryTopology", conf, builder.createTopology());
Utils.sleep(100000000);
cluster.killTopology("DeliveryTopology");
cluster.shutdown();
}
}
示例15: main
import backtype.storm.LocalCluster; //導入方法依賴的package包/類
public static void main(String[] args) {
try{
TopologyBuilder topologyBuilder = new TopologyBuilder();
topologyBuilder.setSpout("Spout", new EmitMessageSpout(), 1);
topologyBuilder.setBolt("generate", new GenerateUrlBolt(), 1)
.shuffleGrouping("Spout");
topologyBuilder.setBolt("generate_loop", new GenerateUrlBolt(), 1)
.shuffleGrouping("Parse", "loop");
// topologyBuilder.setBolt("Parse", new ParseTestBolt(), 1).shuffleGrouping("Spout");
topologyBuilder.setBolt("Parse", new ParseLoopBolt(), 1)
.shuffleGrouping("generate")
.shuffleGrouping("generate_loop");
topologyBuilder.setBolt("Store", new StoreTestBolt(), 1)
.shuffleGrouping("Parse", "store");
Config config = new Config();
config.setDebug(false);
if(args != null && args.length>0){
config.setNumWorkers(4);
StormSubmitter.submitTopology(args[0], config, topologyBuilder.createTopology());
}else{
config.setMaxTaskParallelism(2);
LocalCluster cluster = new LocalCluster();
cluster.submitTopology("test", config, topologyBuilder.createTopology());
}
}catch(Exception e){
e.printStackTrace();
}
}