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

Dataframe。編寫包含總是與表生成列和自動生成列是失敗的(SQL SERVER + sql-spark-connector)

User16765131552
貢獻者三世

包含總是autogenerate Dataframe寫SQL Server表列失敗。我使用Apache火花連接器為SQL Server和SQL Azure。並不包含在dataframe autogenerate字段時,我遇到了——“沒有發現關鍵”的錯誤如果自動生成列包含在dataframe,我遇到了“不能插入一個顯式的值生成總是列在表的錯誤。”

Azure磚- 7.6運行時——PySpark Azure SQL數據庫語言

遇到異常

org.apache.spark。SparkException:工作階段失敗而終止:任務0階段5.0失敗了4次,最近的失敗:在舞台上失去了任務0.3 5.0 (10.139.64.4 TID 25日,執行人1):com.microsoft.sqlserver.jdbc。SQLServerException:不能插入一個顯式的值總是一個生成的列在表' <

”。使用插入一列名單排除總是生成的列,或插入一個默認生成的列。

PySpark df =鋪文件讀取代碼

df。寫\ .format (com.microsoft.sqlserver.jdbc.spark) \ .mode(“追加”)\ .option (“url”, url) \ .option(“數據表”,“TEMPORAL_TABLE”) \ .option(“用戶”,_username) \ .option(“密碼”,_password) \ .option(“司機”,“com.microsoft.sqlserver.jdbc.SQLServerDriver”) \ .option (“schemaCheckEnabled”,假)\ .save ()

SQL Azure時態表定義:

DBO創建表。TEMPORAL_TABLE ((UUID) varchar (255) NOT NULL, [SERVICE_ID] [bigint] NULL, [START_DATE] [datetime2] (7) NULL, [END_DATE] [datetime2] (7) NULL, [CHANGED_ON] [datetime2] (7) NULL,[行動](char)(1)空,[SysStartTime] [datetime2](7)生成總是隨著行開始NOT NULL, [SysEndTime] [datetime2](7)生成的總是作為行NOT NULL結束,主鍵約束(PK_TEMPORAL)集群((UUID) ASC) (STATISTICS_NORECOMPUTE =, IGNORE_DUP_KEY =, OPTIMIZE_FOR_SEQUENTIAL_KEY =)(主要),期限SYSTEM_TIME ([SysStartTime], [SysEndTime]))與(SYSTEM_VERSIONING =[主要](HISTORY_TABLE =(曆史)。[TEMPORAL_TABLE_HISTORY])) ALTER TABLE DBO去。TEMPORAL_TABLE添加默認(newid ()) (UUID) ALTER TABLE DBO去。TEMPORAL_TABLEADD違約(getutcdate ()) [SysStartTime] ALTER TABLE DBO去。TEMPORAL_TABLE添加默認(轉換([datetime2], ' 9999-12-31 23:59:59.9999999 '))對[SysEndTime]

火花sql連接器,https://github.com/microsoft/sql-spark-connector

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

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

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

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

Baidu
map