Sparklyr,spark_read_csv,我们每次都必须重新导入数据吗?

Sparklyr, spark_read_csv, do we have to reimport data everytime?

我正在使用 sparklyr 读取本地计算机上的数据。

我做了什么

spark_install()


config <- spark_config()
spark_dir = "C:/spark"

config$`sparklyr.shell.driver-java-options` <- paste0("-Djava.io.tmpdir=", spark_dir)
config$`sparklyr.shell.driver-memory` <- "4G"
config$`sparklyr.shell.executor-memory` <- "4G"
config$`spark.yarn.executor.memoryOverhead` <- "1g"

sc = spark_connect(master = "local", config = config)

my_data = spark_read_csv(sc, name = "my_data", path = "my_data.csv", memory = FALSE)

完成后,在文件夹C:/Spark中找到了一个名为 liblz4-java8352426675436067796.so

这是什么文件?

如果我断开 Spark 连接,这个文件仍然存在。下次如果我想再次处理 my_data.csv,是否需要重新运行 spark_read_csv? 光是读取数据就需要很长时间。

或者有什么方法可以直接使用这个文件liblz4-java8352426675436067796.so

After it is finished, in the folder C:/Spark i found a file named liblz4-java8352426675436067796.so

What's this file?

该文件是 liblz4 的 Java 绑定的共享库。与您的数据无关。

If i disconnect Spark connection, this file is still there. Next time if i want to work on my_data.csv again, do i need to rerun spark_read_csv?

是的,您将不得不重新导入数据。spark_read_csv 仅创建临时绑定,不能超过相应的 SparkSession

如果您想保留数据,您应该使用 Hive Metastore 创建持久性 table。