【问题标题】:Does Spark hold DataFrame in memory when loaded from a file?从文件加载时,Spark 是否将 DataFrame 保存在内存中?
【发布时间】:2019-10-25 04:27:13
【问题描述】:

如果我像这样创建数据框:

val usersDF = spark.read.csv("examples/src/main/resources/users.csv")

Spark 是否将数据(从 csv 文件)实际加载(/复制)到内存中,或者作为分布式数据集加载到底层文件系统中?

我问是因为在加载 df 后,基础文件数据的任何更改都不会反映在针对数据框的查询中。 (当然,除非通过调用上述代码行再次重新加载数据框。

我在 Databricks 笔记本上使用交互式查询。

【问题讨论】:

    标签: apache-spark apache-spark-sql in-memory


    【解决方案1】:

    除非您对该文件执行操作,否则该文件不会加载到内存中,并且您将看到文件的所有内容,直到执行计划中发生操作时将其加载到内存中。

    如果已经对文件执行了某个操作,在此期间对文件进行了任何修改,那么如果它能够放入 MEMORY,您将看到第一次执行的缓存结果。

    【讨论】:

      猜你喜欢
      • 2020-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-12
      • 1970-01-01
      • 2017-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多