代码之家  ›  专栏  ›  技术社区  ›  Alex

如何在本地模式下使用spark\u read\u jdbc

  •  0
  • Alex  · 技术社区  · 7 年前

    我正在尝试在本地开发,同时使用 spark_read_jdbc . 这需要连接到数据库。

    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

    0 回复  |  直到 7 年前
        1
  •  0
  •   Yura Kosyak    7 年前

    应该有帮助。比如俄语的答案你找不到: https://ru.stackoverflow.com/questions/645847/java-lang-classnotfoundexception-com-microsoft-sqlserver-jdbc-sqlserverdriver

    德米特里评论的近似翻译:

        2
  •  0
  •   Rajkumar ManiRaja    6 年前

    我认为你必须在spark连接中包含驱动程序路径。所以在配置中包含以下代码 形态$ sparklyr.shell.driver-class-path