r - sparklyr::spark_write_jdbc 不接受 Spark 数据帧?
问题描述
我在 Databricks 中工作,尝试使用 sparklyr 函数 spark_write_jdbc 将数据帧写入 SQL Server 表。服务器名称/驱动程序等正确且有效,因为我在代码前面成功使用了 sparklyr::spark_read_jdbc()。
根据文档(此处), 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”)中的错误:没有适用于“spark_write_jdbc”的方法应用于“SparkDataFrame”类的对象
我四处搜寻,找不到其他人询问此错误。为什么它会说这个函数不能与 Spark Dataframe 一起工作,当文档说它可以的时候?
任何帮助表示赞赏。
解决方案
events_long 中有什么内容?语法正确,并确保选项中的连接属性正确。确保 events_long_test 是 spark 数据框而不是表。
推荐阅读
- windows - 从命令提示符窗口运行时,Powershell 脚本无法识别 System.Windows.Forms.Form
- html - Webpack 文件加载器设置 base64 src
- node.js - Node.js - Socket.io-client 不发出数据
- mysql - 使用 OR 在多个列上通过左连接创建视图
- python - 将矩阵中的每个元素作为一个块重复到一个新矩阵中
- javascript - 如何将代码分成单独的文件?
- ffmpeg - FFmpeg 中的多色文本
- html - 带有 flex-direction 列的 CSS 变换比例
- apache-kafka - Kafka分区索引文件
- java - 创建新数组时使用“char”:int[] a = new int['a']