【问题标题】:Is Spark's df.cache() executed eagerly or lazily?Spark 的 df.cache() 是急切执行还是懒惰执行?
【发布时间】:2018-06-12 20:39:31
【问题描述】:

我在工作中使用 pyspark。在这篇文章https://unraveldata.com/to-cache-or-not-to-cache/ 中,它说缓存不是一个动作。但是,当我在 RDD 上运行缓存功能时,会花费很多时间。 Spark UI 显示有一些名为 cache at NativeMethodAccessorImpl.java:0 的激活作业。那么缓存是一个动作吗?

【问题讨论】:

标签: apache-spark


【解决方案1】:

缓存是一种惰性操作。这意味着当访问从缓存构造的变量时,它将计算它。所以它表明它需要时间。

当调用计算时,所有数据都移动到内存中。一旦数据在 ram 计算中可用。

【讨论】:

  • 我也有同样的看法。但是,当我在 jupyter notebook 中运行我的程序时。我的代码就像df = ...,然后我运行df.cache(),第二步花费了大量时间,在spark web UI中,有一些名为cache at NativeMethodAccessorImpl.java:0的激活作业。这真的让我很困惑,所以我问了这个问题。
  • 你能发一下网页界面截图吗
  • 感谢您的回答,@RaphaelRoth 提供了我需要的答案。
猜你喜欢
  • 2019-05-22
  • 2015-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多