메타데이터 오류의 중복 열

문제

작업이 오류 메시지와 함께 실패하면 Apache Spark 작업이 Delta 테이블을 처리하고 있습니다.

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

원인

Delta 테이블에 중복된 열 이름이 있습니다. 대/소문자만 다른 열 이름은 중복된 것으로 간주됩니다.

Delta Lake는 스키마를 저장할 때 대/소문자를 구분하지 않지만 대/소문자를 구분하지 않습니다.

Parquet은 열 정보를 저장하고 반환할 때 대/소문자 구분됩니다.

Spark는 대/소문자를 구분할 수 있지만 기본적으로 대/소문자를 구분하지 않습니다.

잠재적인 데이터 손상 또는 데이터 손실을 방지하기 위해 중복 열 이름은 허용되지 않습니다.

해결 방법

델타 테이블에는 중복 열 이름이 포함되어서는 안 됩니다.

모든 열 이름이 고유한지 확인합니다.