【问题标题】:How to do a Running (Streaming) reduceByKey in Spark Streaming如何在 Spark Streaming 中运行(流)reduceByKey
【发布时间】:2017-12-31 05:59:42
【问题描述】:

我在用于 Spark 流的 Python API 中使用 textFileStream() 方法在创建 XML 文件时读取它们,将它们映射到 XML ElementTree,从 ElementTree 和 flatMap 中获取“有趣”的项目将它们放入字典(键:值),然后我执行 reduceByKey() 来汇总每个键的计数。

因此,如果键是字符串网络名称,则值可能是数据包计数。减少后,我的字典中只剩下每个网络(键)的总数据包数。

我的问题是我无法流式传输此内容。它每次都重新计算计算,而不是保持运行总数。我认为这对我来说是一个典型问题,但我想知道是否有人可以帮助我正确地流式传输此分析,谢谢!

【问题讨论】:

  • 请提供一个可重现的示例,说明您到目前为止所做的具体尝试

标签: apache-spark pyspark spark-streaming


【解决方案1】:

啊,解决方案是使用updateStateByKeydoc 这允许您将上一步的结果合并到当前步骤中的数据。换句话说,它允许您保持运行计算,而不必存储整个 RDD 并且不必在每次接收到数据时重新计算。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-21
    • 2019-09-17
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多