【问题标题】:Apache Spark UI displays incorrect input size of file being ingestedApache Spark UI 显示正在摄取的文件的输入大小不正确
【发布时间】:2018-10-21 19:36:51
【问题描述】:

我的 Java spark 程序提取了一个 3.7 GB 的文件。 当我启动 spark 程序并转到端口 localhost:4040 上的 Spark UI 时 加载阶段显示的输入大小为 7.3 GB???这真是令人困惑。为什么 Spark UI 控制台中显示的输入大小几乎是提取的实际文件大小的两倍?

【问题讨论】:

  • 您可能在实际文件中有更好的压缩或序列化。
  • 它只是一个普通的 3.7 GB csv 文件。

标签: apache-spark apache-spark-sql


【解决方案1】:

输入尺寸:

  • 估计。
  • 不是你加载的文件的输入大小,而是加载对象的输入大小,一般来说,它比序列化的对象需要更多的内存来存储(指向实际对象的指针,用于加载的数据结构的开销数据)。

【讨论】:

  • 我认为这不能回答问题。它不能被双倍尺寸关闭。我想知道 Spark 在做什么使 Spark UI 中的输入大小翻倍。这是 Spark UI 错误吗?
  • @user836087 不判断答案 - stackoverflow.com/a/18030595 - 即使是简单的字符串,开销也不容忽视。
  • user836087 我同意@user10553610 并且还必须声明,虽然您对尺寸不同的原因有一个真正的疑问,但我认为没有理由认为它按照您的问题建议计算不正确。只是因为不是同一件事而有所不同。数据被序列化并添加开销,它是一个估计值,最重要的是输入大小不是源的文件大小,而是读取了多少数据。
  • 请记住,spark 是一个分布式系统,由于各种原因,它可能必须多次读取相同的块。考虑到这些事情,尺寸相同是没有意义的。如果您真的关心大小不同的原因,您可以在 github 上查看代码并找到提交者并向他们发送消息以找出原因。我相信你会学到一些关于 spark 的有趣的东西,但我怀疑大小是否真的不正确。
  • 这些都是猜测。该 UI 没有理由呈现大于文件的大小。就它到底是什么的描述而言,这要么是一个错误,要么是 UI 中缺少某些东西。
猜你喜欢
  • 2020-08-10
  • 2016-09-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多