介绍
这篇文章主要介绍Storm-Hbase接口怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
package storm.contrib.hbase.bolts; import static  backtype.storm.utils.Utils.tuple; import java.util.Map; import org.apache.hadoop.hbase.HBaseConfiguration; import backtype.storm.task.OutputCollector; import backtype.storm.task.TopologyContext; import backtype.storm.topology.BasicOutputCollector; import backtype.storm.topology.IBasicBolt; import backtype.storm.topology.OutputFieldsDeclarer; import backtype.storm.tuple.Fields; import backtype.storm.tuple.Tuple; import storm.contrib.hbase.utils.HBaseCommunicator; import storm.contrib.hbase.utils.HBaseConnector;/* ,,一个读取Hbase的螺栓,不断的从Hbase中读取表中的行键,和列,通过元组来发送 ,* Reads 从而specified column of HBase table 以及emits 从而row key 以及,column values 拷贝,form of 元组 ,*/public class  HBaseColumnValueLookUpBolt implements IBasicBolt  { private static  final long serialVersionUID =, 1 l; private String tableName =, null,, colFamilyName =, null,, colName =, null,, rowKeyField =, null,, columnValue =,空; private static  transient HBaseConnector connector =,空; private static  transient HBaseConfiguration conf =,空; private static  transient HBaseCommunicator communicator =,空; OutputCollector _collector;/* ,* Constructor initializes 从而variables storing 从而hbase table 方式、以及connects 用hbase ,*/public HBaseColumnValueLookUpBolt (final String hbaseXmlLocation, final String rowKeyField,, final String ,, final String colFamilyName,, final String colName), { this.tableName =,表名; 时间=this.colFamilyName colFamilyName; 时间=this.colName colName; 时间=this.rowKeyField rowKeyField; 时间=connector new HBaseConnector (); 时间=conf connector.getHBaseConf (hbaseXmlLocation); 时间=communicator new HBaseCommunicator(设计); }/* ,* emits 从而value of 从而column with name @colName 以及rowkey @rowKey ,* @see backtype.storm.topology.IBasicBolt #执行(backtype.storm.tuple.Tuple, backtype.storm.topology.BasicOutputCollector) ,*/public void 执行(Tuple 输入,,BasicOutputCollector 收集器),{ String rowKey =, input.getStringByField (this.rowKeyField); 时间=columnValue communicator.getColEntry (this.tableName, rowKey,, this.colFamilyName,, this.colName); collector.emit(元组(rowKey, columnValue)); } public void 准备(Map confMap, TopologyContext 上下文, OutputCollector 收集器),{ _collector =,收集器; } public void 清理(),{ } public void  declareOutputFields (OutputFieldsDeclarer 庄家),{ declarer.declare (new 字段(“rowKey",,“columnValue")); } public Map<字符串,Object>, getComponentConfiguration (), { 字符串,Map<>以前package storm.contrib.hbase.bolts; import static  backtype.storm.utils.Utils.tuple; import java.util.Map; import org.apache.hadoop.hbase.HBaseConfiguration; import backtype.storm.task.OutputCollector; import backtype.storm.task.TopologyContext; import backtype.storm.topology.BasicOutputCollector; import backtype.storm.topology.IBasicBolt; import backtype.storm.topology.OutputFieldsDeclarer; import backtype.storm.tuple.Fields; import backtype.storm.tuple.Tuple; import storm.contrib.hbase.utils.HBaseCommunicator; import storm.contrib.hbase.utils.HBaseConnector;/* ,* Reads 从而specified column of HBase table 以及emits 从而row key 以及,column values 拷贝,form of 元组 ,*/public class  HBaseColumnValueLookUpBolt implements IBasicBolt  { private static  final long serialVersionUID =, 1 l; private String tableName =, null,, colFamilyName =, null,, colName =, null,, rowKeyField =, null,, columnValue =,空; private static  transient HBaseConnector connector =,空; null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null