我想构建一个三叉戟拓扑,它将从Kafka获取元组,将它们分组为一个字段并将整个分组元组保留在HBase中。分组的原因是,与放置单个对象相比,使用多个put对象的HBase put操作更快,我希望将Put
个对象分组为一个字段,并在单个HBase API调用中插入所有这些Put
个对象。 / p>
我已经编写了以下代码,但不知道我应该在哪里编写代码,将所有元组转换为HBase' Put'键入对象并将所有Put对象保留在HBase中。
OpaqueTridentKafkaSpout kafkaTridentSpout = new OpaqueTridentKafkaSpout(spoutConfig);
TridentTopology topology = new TridentTopology();
topology.newStream("stream", kafkaTridentSpout)
.groupBy(new Fields("pointId"))
.toStream();
topology.build();
有人可以帮助我吗?
答案 0 :(得分:-1)
Storm有螺栓和喷口。 Spouts听取源,并且螺栓在另一侧,并行工作并将数据移动到目的地。在你的情况下,可能是spout应该是听kafka,获取Bolt中的数据并且bolt应该写入Hbase