针对 SQL Server 表的 spark.write 写入错误(通过 JDBC 连接)

Write error with spark.write against SQL Server table (via JDBC Connection)

提问人:Moisés 提问时间:7/26/2023 最后编辑:Dale KMoisés 更新时间:7/26/2023 访问量:82

问:

我们尝试使用以下方法在 SQL Server (V2005) 中保存 DataFrame:

df_cards.write.jdbc(url=conn_str, table=tablename, mode='append', properties=properties)

但是,我们遇到了以下错误:

org.apache.spark.SparkSQLException:无法识别的 SQL 类型 -151

最令人费解的是,数据已保存在数据库中。

有人可以帮助我们吗?

提前感谢您的帮助。

sql-server apache-spark pyspark sql-server-2005

评论

0赞 Dale K 7/26/2023
您正在使用的 SQL Server 版本已长期不受支持,因此它出现意外行为也就不足为奇了
0赞 AlwaysLearning 7/26/2023
当从目标表中选回数据时,它有时会在 getCatalystType() 中像这样窒息。目标表中是否有具有用户定义类型的列?
0赞 Moisés 7/26/2023
嗨,AlwaysLearning。我们在SQL中遇到了两个datetime类型的列的问题,在目标表中没有用户定义的类型。我们怀疑这是因为当我们进行选择时,我们必须强制转换这些列。有什么想法可以解决它吗?

答: 暂无答案