取消
顯示的結果
而不是尋找
你的意思是:

無法寫入數據幀到Azure突觸表

Akshith_Rajesh
新的貢獻者三世

當我試圖將記錄插入到azure突觸下麵的表使用JDBC其拋出錯誤

com.microsoft.sqlserver.jdbc。SQLServerException:聲明失敗了。列& # 39;COMPANY_ADDRESS_STATE& # 39;有一個數據類型,不能參與columnstore索引。

數據庫表的列(COMPANY_ADDRESS_STATE)數據類型為Varchar (50)

df.write.format (jdbc) .mode(“追加”)\ .option (“url”, sqlURL) \ .option(“數據表”,表名)\ .option(“用戶”,synUser) \ .option(‘密碼’,jdbcPassword) .save ()

誰能指引我正確的方法嗎

4回複4

Hubert_Dudek1
尊敬的貢獻者三世

使用下列數據類型的列不能被包括在columnstore索引:

nvarchar (max), varchar (max), varbinary (max)

(適用於SQL Server 2016和之前的版本,和非聚集columnstore索引)

因此,問題是在Azure突觸的一邊。

你好休伯特,

有趣的部分是我的列沒有nvarchar (max), varchar (max), varbinary (max)作為數據類型

你能請讓我知道什麼我想表的方法是正確的嗎

還是我們有其他方法在寫數據到突觸數據庫使用數據磚

Hubert_Dudek1
尊敬的貢獻者三世

是的,事實上,它隻是馬克斯。varchar我記得有一些問題,但是現在我不能清楚地記得。然而,我解決它通過創建一個新表(如COMPANY_ADDRESS_STATE_2)在SQL Azure磚(省略append模式)和比較的數據類型。

但是有一件事是突觸,所以我認為你需要指定它通過添加.format (“com.databricks.spark.sqldw”)

https://docs.microsoft.com/en-us/azure/databricks/data/data-sources/azure/synapse-analytics

Kaniz
社區經理
社區經理

嗨@Rajesh Akshith,我們一直沒有收到你最後的回應@Hubert杜德克,我檢查,看看他的建議幫助你。

否則,如果你有任何解決方案,請與社區分享,因為它可以幫助別人。

同時,Pledon 'ton不忘記點擊“最佳選擇”按鈕時提供的信息幫助解決你的問題。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map