在Databricks中使用sparklyr注册临时表

在Databricks中使用sparklyr注册临时表,r,pyspark,databricks,sparklyr,R,Pyspark,Databricks,Sparklyr,我的同事正在Databricks中使用pyspark,通常的步骤是使用data=spark.read.format('delta').parquet('parquet_table')运行导入。选择('column1',column2'),然后选择这个缓存步骤,这非常快 data.cache() data.registerTempTable("data") 作为R用户,我正在sparklyr中寻找此registerTempTable等价物 我通常会这样做 data = spa

我的同事正在
Databricks
中使用
pyspark
,通常的步骤是使用
data=spark.read.format('delta').parquet('parquet_table')运行导入。选择('column1',column2')
,然后选择这个缓存步骤,这非常快

data.cache()
data.registerTempTable("data")
作为
R
用户,我正在
sparklyr
中寻找此
registerTempTable
等价物
我通常会这样做

data = sparklyr::spark_read_parquet(sc = sc, path = "parquet_table", memory = FALSE) %>% dplyr::select(column1, column2)
如果我选择
memory=TRUE
tbl_缓存(sc,“data”)
它将保持运行,并且从不停止。时间差的对比似乎非常明显-我同事的
寄存器可清空
需要几秒钟,而我的
sparklyr
选项保持运行,即不知道何时停止。
R
用户的
sparklyr
中是否有更好的功能可以更快地执行此操作
RegisterEmptable

您可以尝试使用和

库(SparkR)

df上述方法适用于SparkR

对于SparkyR,您正在用
memory=FALSE
spark\u read\u parquet()
进行编码,这是一个与SparkR非常相似的过程

如果只想创建一个临时表,则不需要缓存数据,因此我只需使用
memory=FALSE


请参阅。

事实上,只有7秒钟。它相当快!究竟为什么Sparkyr无法使用此选项?
library(SparkR)
df <- read.df("/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv", source = "csv", header="true", inferSchema = "true")
cache(df)
createOrReplaceTempView(df,"df_temp")