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

时间:2018-10-05 15:05:48

标签: r apache-spark sparklyr

我正在使用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

1 个答案:

答案 0 :(得分:1)

  

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

     

这是什么文件?

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

  

如果我断开Spark连接,则此文件仍然存在。下次如果我想再次使用my_data.csv,是否需要重新运行spark_read_csv?

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

如果要保留数据,则应使用Hive Metastore创建一个持久表。