元數據錯誤中的重複列

Spark作業在使用org.apache.sql.sql.analysisexception處理三角洲表時失敗,在元數據錯誤中發現了重複的列。

寫的vikas.yadav

上次出版於:2022年5月23日

問題

當作業失敗而使用錯誤消息時,您的Apache Spark作業正在處理Delta表。

org.apache.spark.sql.analysisexception:在元數據更新中找到重複列:Col1,col2 ...

原因

三角洲表中有重複的列名。僅根據情況不同的列名被認為是重複的。

Delta Lake保存了案例,但在存儲模式時,案例不敏感。

在存儲和返回列信息時,PARQUET對案例敏感。

火花可能是敏感的,但默認情況下是不敏感的。

為了避免潛在的數據損壞或數據丟失,不允許重複的列名。

解決方案

增量表不得包含重複的列名。

確保所有列名稱都是唯一的。