如何解决Pyspark - SQL Server 2005 - SQL 异常 151
我遇到了通过 pyspark 从 sql server2005 上的数据库支持获取数据的问题。 我有一个有 5 列的表格:
- index -> int
- category -> nvarchar
- date_modified -> datetime format YYYY-MM-DD HH:MM:SS:SSS
- category2 -> nvarchar
- category3 -> nvarchar
当我尝试使用此命令导入数据时
conn = spark.read.format("jdbc").option("url","jdbc:sqlserver://IP:PORT;database=dbname;user=xxxxxxxx;password=xxxxxxxxx").option("driver","com.microsoft.sqlserver.jdbc.sqlServerDriver").option("com.microsoft.sqlserver.jdbc.sendTimeAsDatetime","false")
conn = conn.option("dbtable","(SELECT [index],[category],[date_modified],[category2],[category3] FROM table) AS result")
df = conn.load()
我收到一个 sql 异常: java.sqlsqlExcedption:无法识别的 sql 类型 -151
如果我将我的列转换为字符串,我能够正确获取数据,但我想按原样导入它,因为我有一个检查日期模式并检测差异的过程。
奇怪的是,在另一个具有相同结构和相同表的数据库上的完全相同的查询在 sql Server 2016 上运行良好。我正在使用 Spark 2.3 版
有人可以帮我解决这个问题吗?
解决方法
问题已解决。这是由于在我的整个表上执行 select * 的争论。通过移动这个参数,我能够正确地提取数据。计划升级数据库版本。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。