这篇文章主要介绍“BaseBasicBolt与BaseRichBolt的区别是什么”,在日常操作中,相信很多人在BaseBasicBolt与BaseRichBolt的区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”BaseBasicBolt与BaseRichBolt的区别是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、微信平台小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了桓台免费建站欢迎大家使用!
Stream grouping:
Shuffle Grouping: 随机分组, 随机分发stream里的tuple,并保证每个bolt能接收到的tuple数目大致相等。
Fields Grouping: 字段分组, 比如按userid来分组, 具有相同userid的tuple会被分发到相同的bolt里的一个task,而不同的userid则会被分配到不同的bolt里的task。
All Grouping: 广播分组,对于每一个tuple,所有的bolt都会收到。
Global Grouping: 全局分组, 是将所有源实例产生的tuple发送到一个单独的目标实例(特别地,ID 最低的任务)中。
Non Grouping: 不分组,意思是说stream不关心到底谁会收到它的tuple。目前这种分组和Shuffle grouping是一样的效果, 但有一点不同的是storm会把这个bolt放到这个bolt的订阅者同一个线程里面去执行。
Direct Grouping: 直接分组, 这是一种比较特别的分组方法,由源决定哪个组件将接收tuple的分组。只有被声明为Direct Stream的消息流可以声明这种分组方法。且tuple必须使用emitDirect方法来发射。
Local or shuffle grouping: 如果目标bolt有一个或者多个task在同一个工作进程中,tuple将会被随机发生给这些tasks。否则,和普通的Shuffle Grouping行为一致。
BaseBasicBolt 与 BaseRichBolt 的区别
BaseRichBolt
You must – and are able to – manually ack() an incoming tuple.Can be used to delay acking a tuple, e.g. for algorithms that need to work across multiple incoming tuples.
BaseBasicBolt
Auto-acks the incoming tuple at the end of its execute() method.These bolts are typically simple functions or filters.
到此,关于“BaseBasicBolt与BaseRichBolt的区别是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!
当前标题:BaseBasicBolt与BaseRichBolt的区别是什么
标题来源:http://scgulin.cn/article/ihgsih.html