gpt4 book ai didi

scala - Spark 2.0+ 即使数据帧被缓存,如果其源之一发生变化,它会重新计算吗?

转载 作者:行者123 更新时间:2023-12-03 17:31:08 24 4
gpt4 key购买 nike

这是我的用例。

  • 有多个源 df1 到 df4,df3 表示现有的 hive 表
  • 构建一个从 df1 到 df4 的 df5
  • 将 df5 插入/附加到现有的配置单元表。
  • 将 df5 保存到其他位置。

  • 问题是第 4 步没有保存任何内容。
    这是否意味着在第 3 步之后,df3 会改变?
    我已经将 cache() 用于 df1 到 df5。但是如果源已更改,则 df5 似乎会重新计算
    我检查了 Spark Web UI 存储。所有数据帧都是 100% 缓存的。

    最佳答案

    一般来说,您不应该在任何一个方向上依赖这种行为。 Spark 中没有机制可以跟踪任意数据源中的更改,因此一般来说获取更改是相当偶然的,不能想当然。

    同时Spark可以在很多不同的场景中选择重新计算。

    在某些情况下,Spark 还可以检测更改(通常是从文件加载数据时)并抛出异常。

    关于scala - Spark 2.0+ 即使数据帧被缓存,如果其源之一发生变化,它会重新计算吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53836841/

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