在HBase中构建Storm Trident拓扑和持久化元组,但是有';hbase中没有数据

在HBase中构建Storm Trident拓扑和持久化元组,但是有';hbase中没有数据,hbase,apache-storm,topology,trident,Hbase,Apache Storm,Topology,Trident,我构建了一个风暴三叉戟拓扑,如下所示: tridentTopology.newStream(喷动,喷动).parallelismHint(喷动并行) .each(新字段(“tId”、“消息”),新VerifyFilter()) .each(新字段(“tId”、“message”)、新ParseFunction()、新字段(“rowKey”、“column”、“value”)) .groupBy(新字段(“行键”、“列”)) .aggregate(新字段(“值”)、新计数()、新字段(“计数”))

我构建了一个风暴三叉戟拓扑,如下所示:

tridentTopology.newStream(喷动,喷动).parallelismHint(喷动并行) .each(新字段(“tId”、“消息”),新VerifyFilter()) .each(新字段(“tId”、“message”)、新ParseFunction()、新字段(“rowKey”、“column”、“value”)) .groupBy(新字段(“行键”、“列”)) .aggregate(新字段(“值”)、新计数()、新字段(“计数”)) .each(新字段(“行键”、“列”、“计数”)、新SaveFunction()、新字段(列)) .shuffle() .partitionPersist(工厂、新字段(rowKeyANdColumns)、新HBaseUpdater()) .parallelismHint(boltParallel); util execute
每个(新字段(“行键”、“列”、“计数”)、新SaveFunction()、新字段(列)
,我在SaveFunction中获得了打印日志, 但是分区持久化不会将日期写入hbase,并且在所有拓扑中都没有错误


谁能给出一些建议?

什么是
新字段(列)
?哪些是
列是可变的?其内容是什么?列是常量:私有静态最终字符串[]列=新字符串[]{“d0”、“d1”、“d2”、“d3”、“d4”、“d5”、“d6”、“d7”};SaveFunction将生成8个输出字段{“d0”、“d1”、“d2”、“d3”、“d4”、“d5”、“d6”、“d7”}。我假设
rowKey和columns
private static final String[]
带有
{“rowKey”、“d0”、“d1”、“d2”、“d3”、“d4”、“d5”、“d6”、“d7”}
factory
hbastate
的代码是什么?
保存函数
?是的,并且只保存用于生成值的函数为:
@Override public void execute(TridentTuple tuple,TridentCollector collector){collector.emit(generateValues(tuple.getString(0),Integer.valueOf(tuple.getString(1)),tuple.getLong(2));}值generateValues(String rowKey,int diff,long count){Values Values=new Values();for(int i=0;i
新字段(列)
?是否
列是可变的?其内容是什么?列是不变的:私有静态最终字符串[]列=新字符串[]{“d0”、“d1”、“d2”、“d3”、“d4”、“d5”、“d6”、“d7”};SaveFunction将生成8个输出字段{“d0”、“d1”、“d2”、“d3”、“d4”、“d5”、“d6”、“d7”}。我假设
rowKeyANdColumns
私有静态最终字符串[]
带有
{rowKey”,“d0”,“d1”,“d2”,“d3”,“d4”,“d5”,“d6”,“d7”}
工厂
hbastate
?什么是
保存函数的代码
?是的,仅用于GenerateValue的保存函数为:
@覆盖公共无效执行(三元组,三元组收集器){collector.emit(GenerateValue(tuple.getString(0),Integer.valueOf(tuple.getString(1)),tuple.getLong(2));}值生成值(String rowKey,int diff,long count){值=新值();for(int i=0;i