我正在使用 SparkR
在数据块中导入 Parquet 文件和 sparklyr
.data1 = SparkR::read.df("dbfs:/.../data202007*", source = "parquet", header = TRUE, inferSchema = TRUE)
data1 = sparklyr::spark_read_parquet(sc = sc, path = "dbfs:/.../data202007*")
导入的时间差很大:SparkR
为 6 秒对比 sparklyr
的 11 分钟!
有没有办法减少在 sparklyr
中花费的时间? ?我比较熟悉dplyr
语法,因此 sparklyr
以及。
最佳答案
默认 sparklyr::spark_read_parquet
缓存结果 ( memory = TRUE
)。
比较以下缓存结果:
SparkR::cache(SparkR::read.df("dbfs:/.../data202007*", source = "parquet", header = TRUE, inferSchema = TRUE))
sparklyr::spark_read_parquet(sc = sc, path = "dbfs:/.../data202007*")
这对于未缓存的:SparkR::read.df("dbfs:/.../data202007*", source = "parquet", header = TRUE, inferSchema = TRUE)`
sparklyr::spark_read_parquet(sc = sc, path = "dbfs:/.../data202007*", memory = FALSE)
关于r - SparkR 和 sparklyr 之间导入 Parquet 文件所需的时间差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64058553/