Meta veri hatasında yinelenen sütunlar

Sorun

İş bir hata iletisiyle başarısız olduğunda Apache Spark işiniz bir Delta tablosunu işliyor.

org.apache.spark.sql.AnalysisException: Found duplicate column(s) in the metadata update: col1, col2...

Nedeni

Delta tablosunda yinelenen sütun adları vardır. Yalnızca büyük/küçük harfe göre farklılık gösteren sütun adları yinelenen olarak kabul edilir.

Delta Lake, şemayı depolarken büyük/küçük harf korumadır ancak büyük/küçük harfe duyarsızdır.

Parquet, sütun bilgilerini depolarken ve döndürürken büyük/küçük harfe duyarlıdır.

Spark büyük/küçük harfe duyarlı olabilir, ancak varsayılan olarak büyük/küçük harfe duyarlı değildir.

Olası veri bozulmalarını veya veri kaybını önlemek için yinelenen sütun adlarına izin verilmez.

Çözüm

Delta tabloları yinelenen sütun adları içermemelidir.

Tüm sütun adlarının benzersiz olduğundan emin olun.