【发布时间】:2020-11-25 01:52:06
【问题描述】:
我正在使用下面的代码在我的 azure sql server 数据库中使用 azure databricks 查询一个 sql server 表 hr.employee。我是 spark sql 的新手,并尝试一步一步地学习细微差别。
Azure Databricks:
%scala
val jdbcHostname = dbutils.widgets.get("hostName")
val jdbcPort = 1433
val jdbcDatabase = dbutils.widgets.get("database")
val jdbcUrl = s"jdbc:sqlserver://${jdbcHostname}:${jdbcPort};database=${jdbcDatabase}"
import java.util.Properties
val connectionProperties = new Properties()
connectionProperties.put("user", s"${jdbcUsername}")
connectionProperties.put("password", s"${jdbcPassword}")
%scala
val driverClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
connectionProperties.setProperty("Driver", driverClass)
%scala
val employee = spark.read.jdbc(jdbcUrl, "hr.Employee", connectionProperties)
%scala
spark.sql("select * from employee")
%sql
select * from employee
employee.select("col1","col2").show()
我收到以下错误。不知道我在做什么错。也尝试了几种变体,但到目前为止都没有运气。
错误:
';' expected but integer literal found.
command-922779590419509:26: error: not found: value %
%sql
command-922779590419509:27: error: not found: value select
select * from employee
command-922779590419509:27: error: not found: value from
select * from employee
command-922779590419509:16: error: not found: value %
%scala
【问题讨论】:
-
使用
spark.sql(query)? -
嗨@Lamanus,我试过 spark.sql(select * from ommp) 并得到错误。 command-922779590419509:26: error: not found: value select spark.sql(select * from ommp) command-922779590419509:26: error: not found: value from spark.sql(select * 来自 ommp) command-922779590419509:16:错误:未找到:值 % %scala
-
不,应该是字符串,
%scala spark.sql("select * from employee") -
嗨@Lamanus 尝试使用
%scala并得到相同的错误。 -
val dataDF = { val query = "select * from hr.Employee" sqlContext.sql(query) };这也不行。
标签: apache-spark-sql azure-databricks