use of backtype.storm.contrib.hbase.utils.TupleTableConfig in project storm-hbase by jrkinley.
the class HBaseCountersBatchTopology method main.
/**
* @param args
* @throws InterruptedException
*/
public static void main(String[] args) throws InterruptedException {
// Add transactional spout
MemoryTransactionalSpout spout = new MemoryTransactionalSpout(values, new Fields("shortid", "url", "user", "date"), 3);
TransactionalTopologyBuilder builder = new TransactionalTopologyBuilder("shorturl-count", "spout", spout, 2);
// Build TupleTableConifg
TupleTableConfig ttConfig = new TupleTableConfig("shorturl", "shortid");
ttConfig.setBatch(false);
ttConfig.addColumn("data", "clicks");
ttConfig.addColumn("daily", "date");
builder.setBolt("hbase-counters", new HBaseCountersBatchBolt(ttConfig), 2).fieldsGrouping("spout", new Fields("shortid"));
LocalCluster cluster = new LocalCluster();
Config stormConfig = new Config();
stormConfig.setDebug(true);
stormConfig.setMaxSpoutPending(3);
cluster.submitTopology("hbase-example", stormConfig, builder.buildTopology());
Thread.sleep(10000);
cluster.shutdown();
}
use of backtype.storm.contrib.hbase.utils.TupleTableConfig in project storm-hbase by jrkinley.
the class HBaseExampleTopology method main.
/**
* @param args
*/
public static void main(String[] args) {
TopologyBuilder builder = new TopologyBuilder();
// Add test spout
builder.setSpout("spout", new TestSpout(), 1);
// Build TupleTableConifg
TupleTableConfig config = new TupleTableConfig("shorturl", "shortid");
config.setBatch(false);
config.addColumn("data", "url");
config.addColumn("data", "user");
config.addColumn("data", "date");
// Add HBaseBolt
builder.setBolt("hbase", new HBaseBolt(config), 1).shuffleGrouping("spout");
Config stormConf = new Config();
stormConf.setDebug(true);
LocalCluster cluster = new LocalCluster();
cluster.submitTopology("hbase-example", stormConf, builder.createTopology());
Utils.sleep(10000);
cluster.shutdown();
}
use of backtype.storm.contrib.hbase.utils.TupleTableConfig in project storm-hbase by jrkinley.
the class HBaseCountersTopology method main.
/**
* @param args
*/
public static void main(String[] args) {
TopologyBuilder builder = new TopologyBuilder();
// Add test spout
builder.setSpout("spout", new TestSpout(), 1);
// Build TupleTableConifg
TupleTableConfig config = new TupleTableConfig("shorturl", "shortid");
config.setBatch(false);
/*
* By default the HBaseCountersBolt will use the tuple output fields value
* to set the CQ name. For example if the 'date' output field exists in the
* tuple then its value (e.g. "YYYYMMDD") will be used to set the counters
* CQ. However, the 'clicks' output field does not exist in the tuple so in
* this case the counters CQ will be set to the given field name 'clicks'.
*/
config.addColumn("data", "clicks");
config.addColumn("daily", "date");
// Add HBaseBolt
builder.setBolt("hbase-counters", new HBaseCountersBolt(config), 1).shuffleGrouping("spout");
Config stormConf = new Config();
stormConf.setDebug(true);
LocalCluster cluster = new LocalCluster();
cluster.submitTopology("hbase-example", stormConf, builder.createTopology());
Utils.sleep(10000);
cluster.shutdown();
}
Aggregations