【问题标题】:sparklyr::spark_write_jdbc Does not Accept Spark Dataframe?sparklyr::spark_write_jdbc 不接受 Spark 数据帧?
【发布时间】: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


    【解决方案1】:

    events_long 中有什么?语法正确,并确保选项中的连接属性正确。确保 events_long_test 是 spark 数据框而不是表。

    【讨论】:

    • 这并没有提供答案,它为进一步调查/测试该问题提供了更多指导。它更适合作为对该问题的评论。
    猜你喜欢
    • 2018-03-24
    • 2018-06-25
    • 2019-01-22
    • 2023-02-09
    • 2019-12-11
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    • 2021-09-23
    相关资源
    最近更新 更多