Spark Web UI,即使我不持久化数据也显示非零内存存储数字

Posted

技术标签:

【中文标题】Spark Web UI,即使我不持久化数据也显示非零内存存储数字【英文标题】:Spark Web UI, shows non-zero Memory Storage numbers even if I don't persist data 【发布时间】:2019-10-07 21:25:01 【问题描述】:

即使我不使用持久化或缓存,我的 spark 应用程序也会在内存存储中显示非零数量。即使我不使用persist/cache,spark 也会缓存我的数据吗?

【问题讨论】:

【参考方案1】:

Spark 优化可能会尝试将较小的数据集“广播”给每个工作人员以节省网络使用量。

引自Scaladocs

广播变量。广播变量允许程序员保持 缓存在每台机器上的只读变量,而不是发送一个 它与任务的副本。例如,它们可以用来给每个 以有效的方式节点一个大型输入数据集的副本。火花 还尝试使用高效的广播算法分发广播变量以降低通信成本。

此外,内存洗牌会消耗您的 RAM。

引用自Medium

在内部,各个地图任务的结果保存在内存中,直到 他们不适合。然后,根据目标分区对这些进行排序 并写入单个文件。在减少方面,任务读取 相关的排序块。

【讨论】:

确实,但您提到的任何选项都不应该在 web ui 中可见。我错了吗? @humbletrader 我不明白为什么他们不会。这些只是关于您的集群的原始统计信息。它们不会过滤掉洗牌或广播。如果他们都在 0 点空转,我会更担心。

以上是关于Spark Web UI,即使我不持久化数据也显示非零内存存储数字的主要内容,如果未能解决你的问题,请参考以下文章

spark web ui怎么使用

spark中要想保留流的状态怎么处理用哪种方式缓存

优化一下 Spark 读 Kafka 的UI

即使我不滚动,我也可以在 iPad 上显示滚动条吗?

Apache Spark Web UI 中的“Stage Skipped”是啥意思?

Spark Web UI 监控详解