【发布时间】:2020-12-30 08:58:57
【问题描述】:
我在 Databricks 中工作,尝试使用 sparklyr 函数 spark_write_jdbc 将数据帧写入 SQL Server 表。服务器名称/驱动程序等正确且有效,因为我在代码前面成功使用了 sparklyr::spark_read_jdbc()。
根据文档 (here),spark_write_jdbc 应该接受 Spark Dataframe。
我使用 SparkR::createDataFrame() 将我正在使用的数据帧转换为 Spark 数据帧。
以下是相关代码:
events_long_test <- SparkR::createDataFrame(events_long, schema = NULL, samplingRatio = 1, numPartitions = NULL)
sparklyr::spark_write_jdbc(events_long_test,
name ="who_status_long_test" ,
options = list(url = url,
user = user,
driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver",
password = pw,
dbtable = "who_status_long_test"))
但是,当我运行它时,它给了我以下错误:
UseMethod("spark_write_jdbc") 中的错误: UseMethod("spark_write_jdbc") 中的错误: 没有适用于“SparkDataFrame”类对象的“spark_write_jdbc”方法
我四处搜索,找不到其他人询问此错误。为什么文档说这个函数不能与 Spark Dataframe 一起工作?
感谢任何帮助。
【问题讨论】:
标签: r sql-server apache-spark-sql databricks sparklyr