2015.6.5
2015-08-27 09:40
387 查看
1上午学习了JStorm数据流组
spout和bolt都可以并发的执行多个任务,因此必须有一种方法指定哪个数据流路由到哪个spout/bolt,数据流组用来指定一个拓扑内的路由过程。
1) 随机数据流组,是比较常用的一种方式,它指定了一个参数——数据源组件,然后该数据源会向随机选择的bolt发送tuple,当然,JStorm会保证每个bolt接到任务的均衡性。实现方法:shuffleGrouping(“数据源ID”)。
2) 域数据流组,能保证拥有相同域组合的值集发送给同一个bolt。比如要统计一个单词在一个句子中出现的次数,就要用到域数据流组这种路由方式,因为,我们要保证把相同的单词发送给同一个bolt实例来做统计。实现方法:fieldsGrouping(“数据源Id”,new fields(“域名”)。
3) 全部数据流组,这种路由方式用于向所有bolt发送信号和命令。这种方式的适用场景和需求,我现在还不是特别理解,后面会继续学习研磨。实现方法:allGrouping(参数)。
4) 直接数据流组,数据源可以根据条件指定哪个bolt来接受tuple,它与域数据流组的区别在于它的条件是可以根据业务多变的,比如我们根据单词首字母或者尾字母决定由哪个bolt来接受这个tuple,而域数据流组一般是具有相同域的同一个bolt实例来接接收内容相同的tuple。实现方法:directGrouping(“数据源ID”)。
5) 全局数据流组,所有元祖到达拥有最小ID的bolt。
6) 自定义数据流组:用户可以通过实现CustormStreamGrouping接口创建自定义数据流组,根据业务需求来自定义哪些bolt接受哪些tuple,比较灵活。
2下午根据curator官方文档和API实现了用curator框架管理zookeeper的一个小demo。包括创建节点、修改、删除结点,查看数据等操作。根据导师安排,后面会用zookeeper自己的技术来实现以下这些基本功能,将两者做一对比。
spout和bolt都可以并发的执行多个任务,因此必须有一种方法指定哪个数据流路由到哪个spout/bolt,数据流组用来指定一个拓扑内的路由过程。
1) 随机数据流组,是比较常用的一种方式,它指定了一个参数——数据源组件,然后该数据源会向随机选择的bolt发送tuple,当然,JStorm会保证每个bolt接到任务的均衡性。实现方法:shuffleGrouping(“数据源ID”)。
2) 域数据流组,能保证拥有相同域组合的值集发送给同一个bolt。比如要统计一个单词在一个句子中出现的次数,就要用到域数据流组这种路由方式,因为,我们要保证把相同的单词发送给同一个bolt实例来做统计。实现方法:fieldsGrouping(“数据源Id”,new fields(“域名”)。
3) 全部数据流组,这种路由方式用于向所有bolt发送信号和命令。这种方式的适用场景和需求,我现在还不是特别理解,后面会继续学习研磨。实现方法:allGrouping(参数)。
4) 直接数据流组,数据源可以根据条件指定哪个bolt来接受tuple,它与域数据流组的区别在于它的条件是可以根据业务多变的,比如我们根据单词首字母或者尾字母决定由哪个bolt来接受这个tuple,而域数据流组一般是具有相同域的同一个bolt实例来接接收内容相同的tuple。实现方法:directGrouping(“数据源ID”)。
5) 全局数据流组,所有元祖到达拥有最小ID的bolt。
6) 自定义数据流组:用户可以通过实现CustormStreamGrouping接口创建自定义数据流组,根据业务需求来自定义哪些bolt接受哪些tuple,比较灵活。
2下午根据curator官方文档和API实现了用curator框架管理zookeeper的一个小demo。包括创建节点、修改、删除结点,查看数据等操作。根据导师安排,后面会用zookeeper自己的技术来实现以下这些基本功能,将两者做一对比。
相关文章推荐
- C++ Builder XE8 安卓开发之菜单键的触发代码
- Linux第四天
- web点滴
- textarea和mysql中的换行符问题
- 利用layer.js和jQuery在form提交页面添加loading层
- POJ 2376 Cleaning Shifts(贪心)
- POJ 2371 Questions and answers(水~)
- [笔试]几种常见的排序算法对比
- HDU2852 KiKi's K-Number 线段树单点更新
- Android开发关于onActivityResult()的执行时间问题
- Eclipse个性化设置
- 找新朋友 HDU杭电1286 【欧拉函数】
- linux kvm虚拟机 NAT/BRIDGE配置
- 黄聪:让WordPress主题支持语言本地化(使用poedit软件实现中文翻译功能)
- 大话存储3——硬盘接口技术, 内部和外部传输速度
- iOS使用技巧---高效使用你的xcode
- 学习日志---矩阵表示及特殊矩阵压缩
- GDB 总结
- jQuery实现的数值范围range2dslider选取插件特效多款代码分享
- POJ 2365 Rope(计算几何)