【问题标题】:Input Data rate in Apache StormApache Storm 中的输入数据速率
【发布时间】:2018-09-04 23:14:11
【问题描述】:

我正在从文件中读取文本数据并使用 apachestorm 对其进行处理以产生结果。我想尝试不同的输入数据速率。我想知道,我将如何在此设置中更改 apache Storm 中的输入数据速率。也就是输入数据率是:

spout/Time 发出的元组数

【问题讨论】:

    标签: apache-storm


    【解决方案1】:

    默认情况下,Storm 会尽快将元组拉出 spout。您可以通过一些设置与之交互:

    topology.max.spout.pending 定义了在 Storm 将限制 spout 并等待一些元组被确认之前可以将多少元组发送到拓扑中。默认情况下,这是不封顶的。

    topology.sleep.spout.wait.strategy.time.ms 定义了如果调用 nextTuple 没有产生输出,Storm 将在 spout 上调用 nextTuple 之间暂停多少毫秒。默认为 1ms。

    【讨论】:

    • 好吧,通过改变 topology.max.spout.pending 的值,假设它的 100 那么输入数据速率将是 100 元组/秒或者如果 50000 那么速率将是 50000 元组/秒?
    • 没有。将 max.spout.pending 设置为 100 仅意味着拓扑中一次只有 100 个未确认的元组在运行。我提到的设置可帮助您进行流量控制以避免压倒螺栓。如果您需要特定的数据速率,您可能需要手动将此功能构建到 spout 中。
    • 好的,感谢您的建议
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-29
    • 2012-01-26
    • 1970-01-01
    • 2015-04-14
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    相关资源
    最近更新 更多