gpt4 book ai didi

performance - DStream 的分区(用于 updateStateByKey() )如何工作以及如何验证它?

转载 作者:行者123 更新时间:2023-12-03 19:33:35 25 4
gpt4 key购买 nike

我正在使用 updateStateByKey()在我的 Spark Streaming 应用程序中维护状态的操作。输入数据来自 Kafka 主题。

  • 我想了解 DStreams 是如何分区的?
  • 分区如何与 mapWithState() 或 updateStatebyKey() 方法一起使用?
  • 在 updateStateByKey() 中,旧状态和新值是否针对在同一节点上处理的给定键?
  • updateStateByKey() 方法的随机播放频率如何?

  • 我必须维护的状态包含 ~ 100000 个键,我想避免每次更新状态时都进行随机播放,有什么提示吗?

    最佳答案

    链接到 Tathagat Das 对同一问题的回答:

    https://www.mail-archive.com/user@spark.apache.org/msg43512.html

    以下是正文:

    两者 mapWithState()updateStateByKey()默认情况下使用 HashPartitioner ,并散列键值中的键 DStream应用状态操作。新数据和状态在完全相同的分区器中进行分区,因此来自新数据(来自输入 DStream)的相同键被混洗并与已经分区的状态 RDD 共存。所以新数据在同一台机器上被带到相应的旧状态,然后
    应用状态映射/更新功能。

    状态不是每次都打乱,每批只打乱新数据的批次

    关于performance - DStream 的分区(用于 updateStateByKey() )如何工作以及如何验证它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34447300/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com