Apache Storm 并行性如何工作?
How Apache Storm parallelism works?
我是 Apache Storm 的新手,想知道并行提示是如何工作的。
例如我们有一个包含两个元组 <4>,<6> 的流,一个 spout 每个执行者只有一个任务,我们有一个螺栓来对元组执行一些操作并且并行度提示为 2,所以我们有两个这个螺栓的执行者即A和B,关于这个,我有3个问题。
- 考虑到上述情况,我们的包含值 4 的元组可能由 A 处理,而另一个包含值 6 的元组由 B 处理。
- 如果按照问题(1)中提到的方式进行处理,那么它不会影响顺序重要的操作。
- 如果不以这种方式进行处理,则意味着两个元组都将转到同一个执行程序,那么并行的好处是什么。
- Considering above scenario is this possible that our tuple which contain value 4 is processed by A and another tuple which contain value 6 is processed by B.
是的。
- If processing done in this manner i.e. mentioned in question (1), then won't it impact on operation in which sequence matter.
视情况而定。您很可能可以控制 spout 中元组的顺序。如果顺序很重要,建议减少并行度或使用 fields grouping,以确保相互依赖的元组转到同一个执行程序。如果顺序无关紧要,请使用 shuffleGrouping 或 localOrShuffleGrouping 从并行处理中获益。
- If processing not done in this manner, means both tuples going to same executor then what is the benefit of parallelism.
如果两个元组都交给同一个执行者,显然没有任何好处。
我是 Apache Storm 的新手,想知道并行提示是如何工作的。
例如我们有一个包含两个元组 <4>,<6> 的流,一个 spout 每个执行者只有一个任务,我们有一个螺栓来对元组执行一些操作并且并行度提示为 2,所以我们有两个这个螺栓的执行者即A和B,关于这个,我有3个问题。
- 考虑到上述情况,我们的包含值 4 的元组可能由 A 处理,而另一个包含值 6 的元组由 B 处理。
- 如果按照问题(1)中提到的方式进行处理,那么它不会影响顺序重要的操作。
- 如果不以这种方式进行处理,则意味着两个元组都将转到同一个执行程序,那么并行的好处是什么。
- Considering above scenario is this possible that our tuple which contain value 4 is processed by A and another tuple which contain value 6 is processed by B.
是的。
- If processing done in this manner i.e. mentioned in question (1), then won't it impact on operation in which sequence matter.
视情况而定。您很可能可以控制 spout 中元组的顺序。如果顺序很重要,建议减少并行度或使用 fields grouping,以确保相互依赖的元组转到同一个执行程序。如果顺序无关紧要,请使用 shuffleGrouping 或 localOrShuffleGrouping 从并行处理中获益。
- If processing not done in this manner, means both tuples going to same executor then what is the benefit of parallelism.
如果两个元组都交给同一个执行者,显然没有任何好处。