Columnas duplicadas en el error de metadatos

Problema

El Apache Spark está procesando una tabla Delta cuando se produce un error en el trabajo con un mensaje de error.

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

Causa

Hay nombres de columna duplicados en la tabla Delta. Los nombres de columna que difieren solo por mayúsculas y minúsculas se consideran duplicados.

Delta Lake conserva mayúsculas de minúsculas, pero no diferencia entre mayúsculas y minúsculas al almacenar un esquema.

Parquet distingue mayúsculas de minúsculas al almacenar y devolver información de columna.

Spark puede distingue mayúsculas de minúsculas, pero no distingue mayúsculas de minúsculas de forma predeterminada.

Para evitar posibles daños en los datos o la pérdida de datos, no se permiten nombres de columna duplicados.

Solución

Las tablas delta no deben contener nombres de columna duplicados.

Asegúrese de que todos los nombres de columna son únicos.