SparkR 和 sparklyr 导入 parquet 文件的时间差异

Difference in time taken for importing parquet files between SparkR and sparklyr

我正在使用 SparkRsparklyr 在数据块中导入镶木地板文件。

data1 = SparkR::read.df("dbfs:/.../data202007*", source = "parquet", header = TRUE, inferSchema = TRUE)

data1 = sparklyr::spark_read_parquet(sc = sc, path = "dbfs:/.../data202007*")

导入的时间差异巨大:SparkR 6 秒 vs 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)