• R语言
  • 可以通过sparklyr连接远程数据库吗?

CMCai0104 可以 通过 jdbc 的机制就可以连接了

config <- spark_config()
config$`sparklyr.shell.driver-class-path` <- 
  "~/Downloads/mysql-connector-java-5.1.41/mysql-connector-java-5.1.41-bin.jar"

sc <- spark_connect(master = "local",
                    version = "2.1.0",
                    config = config)

spark_read_jdbc(sc, "person_jdbc",  options = list(
  url = "jdbc:mysql://localhost:3306/sparklyr",
  user = "root",
  password = "<password>",
  dbtable = "person"))

    HarryZhu-7harryprince thank you!昨晚试了下,可以。

    还有几个疑问,麻烦帮忙解答下:

    1、 "person_jdbc" 是指什么?

    2、感觉连接速度很慢,速度远不如直接用RMySQL包进行dbConnect快!不知道是我网络的问题还是就是这样的?
    而且一次只能连接一个table,如果多个表格进行关联不是更惨!

    3、现在spark主要的用途是什么?感觉只能进行一些简单的数据预处理和机器学习。如果进行复杂的特征计算(多个表之间互相调用进行复杂计算)是不是还不太合适。

    谢谢!!!

      CMCai0104 Spark 初始化的时候MySQL 连接慢是正常的,因为它是分布式的,固定成本比较高,边际成本比较低。如果你处理大批量的数据的时候 才会体现出来它的优势,(而且还要适当调优它的partition、memory等参数)。

      Cloud2016 👌,thank you. 粗粮看过这个官方文档,我的理解它的数据预处理方法主要就是基于dplyr
      ,可能我这方面计算机原理不太懂吧,所以有点疑惑。