【发布时间】:2014-08-16 06:39:17
【问题描述】:
这是一个关于 Storm 的 max spout pending 工作原理的问题。我目前有一个可以读取文件并为文件中的每一行发出一个元组的 spout(我知道 Storm 不是处理文件的最佳解决方案,但我没有选择解决这个问题)。
我将topology.max.spout.pending 设置为 50k 以限制有多少元组进入要处理的拓扑。但是,我看到这个数字在拓扑中没有任何影响。我每次都会看到文件中的所有记录。我的猜测是这可能是由于我在nextTuple() 方法中的一个循环,它发出文件中的所有记录。
我的问题是:当到达topology.max.spout.pending 时,Storm 是否会停止为 Spout 任务调用 nextTuple()?这是否意味着每次调用该方法时我应该只发出一个元组?
【问题讨论】: