如何使用sparklyr访问Databricks数据库

Dis*_*s23 1 r sparkr databricks sparklyr

在 Azure Databricks 环境中,我发现了软件包SparkRsparklyr.

从我的笔记本中SparkR,我设法连接到数据库:

library(SparkR)
DW <- sql("select * from mydb.sometable")
Run Code Online (Sandbox Code Playgroud)

它运行良好,但 SparkR 语法似乎与经典 R 语法相差太远(根据我的说法)。

所以我想尝试一下sparklyr,但我无法访问同一个数据库:

library(sparklyr)
sc <- spark_connect(method="databricks")
test <- spark_read_table(sc, "mydb.sometable")

Error : org.apache.spark.sql.AnalysisException: It is not allowed to add database prefix ...
Run Code Online (Sandbox Code Playgroud)

有什么问题吗?

谢谢 !!

Dis*_*s23 13

如果它对任何人有帮助,这就是我发现的似乎有效的方法。

  1. 设置默认数据库
  2. 读取默认数据库中的表
library(sparklyr)
library(dplyr)
sc <- spark_connect(method="databricks")
tbl_change_db(sc, "mydb")
foo <- spark_read_table(sc,"sometable")
Run Code Online (Sandbox Code Playgroud)