mysql - 如何使用sparklyr spark_write_jdbc连接MySql

标签 mysql r sparklyr

spark_write_jdbc(members_df,
    name = "Mbrs",
    options = list(
      url = paste0("jdbc:mysql://",mysql_host,":",mysql_port,"/",dbname),
      user = mysql_user,
      password = mysql_password),
    mode = "append")

导致以下异常:

Error: java.sql.SQLException: No suitable driver
  at java.sql.DriverManager.getDriver(DriverManager.java:315)

.jar 文件位于运行 RStudio 的服务器上的一个文件夹中,配置详情如下。我们能够通过 RMySql 包访问 MySql,因此 MySql 可以正常工作并可以访问。

config$`spark.sparklyr.shell.driver-class-path` <- "/dev/shm/temp/mysql-connector-java-5.1.44-bin.jar"

最佳答案

即使问题不同,我认为答案仍然适用于此:

How to use a predicate while reading from JDBC connection?

通过 sparklyr 连接到 JDBC MySQL 的代码(我做了一些小改动以简化代码,由 Jake Russ 编写)

library(sparklyr)
library(dplyr)

config <- spark_config()
#config$`sparklyr.shell.driver-class-path` <- "E:\\spark232_hadoop27\\jars\\mysql-connector-java-5.1.47-bin.jar"
#in my case, using RStudio and Sparkly this seemed to be optional

sc <- spark_connect(master = "local")

db_tbl <- spark_read_jdbc(sc,
                  name    = "table_name",  
                  options = list(url      = "jdbc:mysql://localhost:3306/schema_name",
                                 user     = "root",
                                 password = "password",
                                 dbtable  = "table_name"))

关于mysql - 如何使用sparklyr spark_write_jdbc连接MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46712982/

相关文章:

MySQL 分解字符串?

r - r 中的嵌套 dplyr 循环

使用 Sparklyr 包时,R 未检测到安装的最新 Java 版本 (1.8)

mysql - 在 foreach 中使用 %dopar% 写入数据帧

mysql - SQL 从行中选择数据如果存在否则创建行

mysql - 重新排序 mysql 表行以提高速度

r - 将 sparklyr 连接到远程 spark 连接

r - 在数据帧的数字中放置点

javascript - R Shiny - 使用自定义消息处理程序禁用单选按钮组中的单个单选按钮

r - 是否可以将 native R 代码或其他 R 包函数与 sparklyr 一起使用?