从文件加载时,Spark是否将DataFrame保存在内存中



如果我创建这样的数据帧:

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

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

我之所以这么问,是因为在加载df之后,底层文件数据中的任何更改都不会反映在针对数据帧的查询中。(当然,除非通过调用上面的代码行再次新加载数据帧。

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

除非在对该文件执行操作之前,该文件不会加载到内存中,并且当执行计划中发生操作时,您将看到该文件的所有内容,直到加载到内存为止。

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

相关内容

最新更新