我正在尝试使用spark_read_jdbc
从MS SQL数据库读取本地开发。这需要连接到数据库。
我有以下spark_connect
。
library(sparklyr)
# spark_install()
conf <- spark_config()
conf$`sparklyr.cores.local` <- 4
conf$`sparklyr.shell.driver-memory` <- "16G"
conf$spark.memory.fraction <- 0.9
sc <- spark_connect(master = "local",
version = "2.1.0",
config = conf)
b <- sparklyr::spark_read_jdbc(sc,
name ="my_table" ,
options = list(url = "jdbc:sqlserver://<server>",
user = keyring::key_get("uid"),
driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver",
password = keyring::key_get("pwd"),
dbtable = "<tablename>"))
但是当我运行上面的代码时,我得到以下错误
错误:java.lang.ClassNotFoundException:com.microsoft.sqlserver.jdbc.SQLServerDriver
好像我的司机无法找到。我该如何调试此错误。
它应该有所帮助。如俄罗斯语的答案,你找不到它:https://ru.stackoverflow.com/questions/645847/java-lang-classnotfoundexception-com-microsoft-sqlserver-jdbc-sqlserverdriver
来自Dmitriy评论的近似翻译:我已经通过将sqljdbc4.jar重新安装到项目的lib文件夹并再次将路径lib / sqljdbc4.jar重新插入到classpath来解决了这个问题。此外,我已经将请求执行功能移动到单独的项目类中以获得辅助功能,并且所有开始工作......所以只需要几次打开/关闭库,所有这些都可以工作。