Jam*_*mes 2 real-time apache-storm
只是阅读有关风暴的更多细节,并且发现它能够进行字段分组,例如,如果你计算每个用户的推文,并且你有两个任务,其中一个字段分组为user-id,则相同的用户ID将被发送到相同的任务.
所以任务1在内存bob中可以有以下计数:10 alice:5
任务2可能在记忆吉尔中有以下计数:10乔:4
如果我向群集中添加了一台新机器以增加容量并运行重新平衡,那么我在内存中的计数会怎样?你会开始让不同用户的用户?
使用字段分组,我们可以指导特定字段转到特定任务.
字段分组:流按分组中指定的字段进行分区.例如,如果流按"user-id"字段分组,则具有相同"user-id"的元组将始终执行相同的任务,但具有不同"user-id"的元组可能会执行不同的任务.
这些任务在风暴的生命周期中始终是静态的,您可以使用rebalance执行者(线程)的数量来改变.在向集群添加新节点的情况下,您可以重新配置要运行的执行程序数,而无需关闭拓扑但无论任务数量保持不变.只是添加一个新节点可以通过调整风暴的并行性来提高性能.
| 归档时间: |
|
| 查看次数: |
4697 次 |
| 最近记录: |