Spark 2.0+即使数据帧被缓存,如果其中一个源更改,它会重新计算?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

Spark 2.0+即使数据帧被缓存,如果其中一个源更改,它会重新计算?

社区小助手 2018-12-19 15:59:19 898

这是我的用例。

有多个源df1到df4,df3代表现有的hive表
从df1到df4构建一个df5
将df5插入/追加到现有的配置单元表中。
将df5保存到其他地方。
问题是第4步没有任何保存到现场。这是否意味着在第3步之后,df3会改变吗?我已经使用cache()来实现df1到df5。但看起来如果源已被更改,df5会重新计算我检查了Spark Web UI存储。所有数据帧都是100%缓存的。

SQL 存储 缓存 分布式计算 测试技术 HIVE Spark
分享到
取消 提交回答
全部回答(1)
  • 社区小助手
    2019-07-17 23:23:00

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

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

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

    0 0
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

推荐文章
相似问题