如何在 PySpark 或 Scala 数据块笔记本中调用远程 SQL 函数
How to call remote SQL function inside PySpark or Scala databriks notebook
我正在编写连接 SQL 服务器数据库的 databriks scala / python notebook。
我想使用自定义参数从笔记本执行 sql 服务器功能。
import com.microsoft.azure.sqldb.spark.config.Config
import com.microsoft.azure.sqldb.spark.connect._
val ID = "1"
val name = "A"
val config = Config(Map(
"url" -> "sample-p-vm.all.test.azure.com",
"databaseName" -> "DBsample",
"dbTable" -> "dbo.FN_cal_udf",
"user" -> "useer567",
"password" -> "pppp@345%",
"connectTimeout" -> "5", //seconds
"queryTimeout" -> "5" //seconds
))
val collection = sqlContext.read.sqlDB(config)
collection.show()
这里的函数是FN_cal_udf,存储在sql服务器数据库中-'DBsample'
我收到错误:
jdbc.SQLServerException: 没有为函数提供参数
我如何在 scala 或 pyspark 的笔记本中传递参数并调用 SQL 函数。
这里可以先做查询字符串,查询字符串存储动态参数的函数调用语句。
然后在congig中使用。
import com.microsoft.azure.sqldb.spark.config.Config
import com.microsoft.azure.sqldb.spark.connect._
val ID = "1"
val name = "A"
val query = " [dbo].[FN_cal_udf]('"+ID+"','"+name+"')"
val config = Config(Map(
"url" -> "sample-p-vm.all.test.azure.com",
"databaseName" -> "DBsample",
"dbTable" -> "dbo.FN_cal_udf",
"user" -> "useer567",
"password" -> "pppp@345%",
"connectTimeout" -> "5", //seconds
"queryTimeout" -> "5" //seconds
))
val collection = sqlContext.read.sqlDB(config)
collection.show()
我正在编写连接 SQL 服务器数据库的 databriks scala / python notebook。 我想使用自定义参数从笔记本执行 sql 服务器功能。
import com.microsoft.azure.sqldb.spark.config.Config
import com.microsoft.azure.sqldb.spark.connect._
val ID = "1"
val name = "A"
val config = Config(Map(
"url" -> "sample-p-vm.all.test.azure.com",
"databaseName" -> "DBsample",
"dbTable" -> "dbo.FN_cal_udf",
"user" -> "useer567",
"password" -> "pppp@345%",
"connectTimeout" -> "5", //seconds
"queryTimeout" -> "5" //seconds
))
val collection = sqlContext.read.sqlDB(config)
collection.show()
这里的函数是FN_cal_udf,存储在sql服务器数据库中-'DBsample'
我收到错误: jdbc.SQLServerException: 没有为函数提供参数
我如何在 scala 或 pyspark 的笔记本中传递参数并调用 SQL 函数。
这里可以先做查询字符串,查询字符串存储动态参数的函数调用语句。 然后在congig中使用。
import com.microsoft.azure.sqldb.spark.config.Config
import com.microsoft.azure.sqldb.spark.connect._
val ID = "1"
val name = "A"
val query = " [dbo].[FN_cal_udf]('"+ID+"','"+name+"')"
val config = Config(Map(
"url" -> "sample-p-vm.all.test.azure.com",
"databaseName" -> "DBsample",
"dbTable" -> "dbo.FN_cal_udf",
"user" -> "useer567",
"password" -> "pppp@345%",
"connectTimeout" -> "5", //seconds
"queryTimeout" -> "5" //seconds
))
val collection = sqlContext.read.sqlDB(config)
collection.show()