Closed michelle-q closed 7 years ago
最近用了一下IBasicSpout和IBatchSpout处理数据,但是不知道二者的区别是什么。只是发现使用IBatchSpout,是可以通过batchId,在下游的bolt中区分数据然后做逻辑处理保存hbase,IbasicSpout 是正常每条发送到下游bolt,这里我使用了线程名称区分了数据,但是有一个问题,当我把bolt的并行度设置为2时,处理的数据都是双份的。而使用IBatchSpout的方式,bolt并行度是2,处理的数据是正常的。
IBasicSpout 是不对外使用,是内部使用的接口
IBatchSpout 是minibatch 的一套api 接口, 你参考例子https://github.com/alibaba/jstorm/tree/master/example/sequence-split-merge/src/main/java/com/alipay/dw/jstorm/example/batch
最近用了一下IBasicSpout和IBatchSpout处理数据,但是不知道二者的区别是什么。只是发现使用IBatchSpout,是可以通过batchId,在下游的bolt中区分数据然后做逻辑处理保存hbase,IbasicSpout 是正常每条发送到下游bolt,这里我使用了线程名称区分了数据,但是有一个问题,当我把bolt的并行度设置为2时,处理的数据都是双份的。而使用IBatchSpout的方式,bolt并行度是2,处理的数据是正常的。