【发布时间】:2020-06-16 00:58:50
【问题描述】:
我是 Databricks 的新手,我正在尝试使用 R 语言读取使用 Scala 创建的临时表。在使用 Scala 导入表之前,我建立了与公司数据库的连接。这是我未成功使用的代码。我用“xxxx”省略了连接凭据。我知道我必须使用 sparklyr 包来执行此操作,所以假设我已经加载了这个包
%scala
val jdbcUsername = "xxxx"
val jdbcPassword = "xxxx"
val jdbcHostname = "xxxx"
val jdbcPort = 9999
val jdbcDatabase ="xxxx"
import java.util.Properties
val jdbc_url = s"xxxx"
val connectionProperties = new Properties()
connectionProperties.put("user", s"${jdbcUsername}")
connectionProperties.put("password", s"${jdbcPassword}")
val task = spark.read.jdbc(jdbc_url, "dbo.task", connectionProperties)
task.createOrReplaceTempView("task_temp")
teste = spark_load_table("task_temp")
输出错误:
Error in UseMethod("hive_context") : Error in UseMethod("hive_context") :
no applicable method for 'hive_context' applied to an object of class "character"
我可以使用 python 阅读,如下所示:
%python
task_teste = spark.table("task_temp")
但正如我所提到的,我需要使用 R 阅读。
【问题讨论】:
-
sql('select * from task_temp')
-
它不起作用。我发布了我自己问题的答案。
-
这就是为什么明确说明你的整个环境是值得的——
sql是来自官方 Spark R 包 (SparkR) 的函数,而sdf_sql是来自 @987654328 的模拟@
标签: python r scala databricks azure-databricks