小编sus*_*047的帖子

Spark Databricks 缓存的分数在执行操作后下降(Scala)

我使用 persist 命令在 MEMORY_AND_DISK 上缓存数据帧,并且一直在观察一个奇怪的模式。

当执行必要转换的特定作业(作业 6,在下面的屏幕截图中)完成时,持久数据帧会缓存到 100%,但在作业 9(数据质量检查)后,它会将缓存的分数降低到 55%,从而使其达到重新计算以获得部分丢失的数据(可以在作业12中看到)。我还从指标(Databricks 上的 Ganglia UI)中看到,在任何给定实例中至少有 50 GB 的可用内存。

(下图部分被遮蔽,以避免敏感数据暴露) 在此输入图像描述

当有足够的内存用于其他转换/操作时,为什么 Spark 会丢弃/刷新内存/磁盘上持久存在的 50 MB 的对象?除了显式将其写入临时存储的解决方法之外,是否有解决方案可以避免这种情况?

caching scala persist apache-spark databricks

6
推荐指数
1
解决办法
290
查看次数

标签 统计

apache-spark ×1

caching ×1

databricks ×1

persist ×1

scala ×1