0

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: Unrecognized SQL type -151

カラムを文字列に変換すればちゃんとデータを取得できるのですが、日付のパターンをチェックして不一致を検出する処理があるのでそのままインポートしたいと思います。

奇妙なことは、同じ構造と同じテーブルを持つ別のデータベースでまったく同じクエリが、SQL Server 2016 でうまく機能していることです。私はSparkバージョン2.3で作業しています

誰かがこの問題で私を助けることができますか?

4

1 に答える 1