0

我想构建一个三叉戟拓扑,它将从 Kafka 获取元组,按一个字段对它们进行分组,并将整个分组的元组保存在 HBase 中。分组的原因是,与放置单个对象相比,使用多个放置对象的 HBase 放置操作更快,我想Put按一个字段对对象进行分组并将所有这些Put对象插入单个 HBase API 调用中。

我已经编写了以下代码,但不确定我应该在哪里编写将所有元组转换为 HBase 'Put' 类型对象并将所有这些 Put 对象保留在 HBase 中的代码。

OpaqueTridentKafkaSpout kafkaTridentSpout = new OpaqueTridentKafkaSpout(spoutConfig);
TridentTopology topology = new TridentTopology();
topology.newStream("stream", kafkaTridentSpout)
                             .groupBy(new Fields("pointId"))
                             .toStream();
topology.build();

谁能帮帮我吗?

4

1 回答 1

-1

Storm 有螺栓和喷口。Spout 监听源,而 Bolt 在另一边,并行工作并将数据移动到目的地。在您的情况下,可能是 spout 应该在听 kafka,在 Bolt 中获取数据,并且 Bolt 应该写入 Hbase

于 2015-09-23T19:59:29.097 回答