Spark SQL 마이그레이션 가이드
Spark SQL 마이그레이션 가이드 (SQL Migration Guide)
Spark SQL, Dataset, DataFrame API를 새 버전으로 옮길 때 어떤 동작이 바뀌었고, 무엇을 주의해 수정해야 하는지 안내하는 가이드예요. 버전별 호환성 변경 사항과 함께, 마이그레이션 시 반드시 확인해야 할 항목들을 정리해 드릴게요.
출처: 문서
본문
Spark SQL과 DataFrame/Dataset API의 마이그레이션 가이드입니다. 아래에 주요 변경 사항을 버전별로 정리해요.
Spark 4.0에서 주의할 점
Spark 4.0에서는 SQL 엔진과 표준 기능의 정리(cleanup)가 이루어졌습니다. 다음 항목들을 주의 깊게 확인하세요:
- 표준 함수(예:
percentile_approx)의 기본 파라미터, ANSI SQL 모드 기본값, 그리고 일부 SQL 표기법의 동작이 변경되었습니다. spark.sql.legacy.*로 시작하는 여러 레거시 설정이 제거되거나 기본값이 바뀌었습니다. 레거시 동작에 의존하던 애플리케이션은 설정을 명시적으로 갱신해야 합니다.- Python/Java/Scala/R API의 일부 끊어진(deprecated) 메서드가 정리되었습니다.
Spark 3.x에서 주의할 점
- ANSI 모드: Spark 3.0부터
spark.sql.ansi.enabled설정으로 ANSI SQL 호환 모드를 켤 수 있으며, 이후 버전에서 기본 동작이 더 엄격해졌습니다. - 리터럴 해석:
CAST와 리터럴의 타입 해석 규칙이 변경되었습니다. - Hive 지원:
spark.sql.hive.version, Hive 메타스토어 연동 관련 설정이 변경되었습니다. - 카탈로그/데이터 소스 v2: DataSource V2 API가 기본이 되면서, 파티셔닝·벌크 읽기·쓰기 동작이 개선되었습니다.
마이그레이션 시 공통 확인 사항
SparkSession과spark-submit의 설정을 최신 기본값과 대조한다.- SQL에서 사용하는 내장 함수의 시그니처 변경 여부를 확인한다.
spark.sql.legacy.*설정을 사용 중이면 제거하거나 새 설정으로 옮긴다.- DataFrame 생성·변환 코드에서 타입 캐스팅(CAST) 동작 변경을 점검한다.
마이그레이션 전후에는 반드시 스모크 테스트를 돌려, 데이터 읽기·쓰기, 집계, 조인, UDF 동작이 동일한지 확인하는 것이 좋아요.
더 알아보기 (Learn more)
- Spark 마이그레이션 가이드 (전체): 각 컴포넌트별 마이그레이션 가이드로 이동해요.
- Spark SQL 프로그래밍 가이드: DataFrame/Dataset/SQL의 최신 사용법을 익혀요.
- Spark SQL 설정:
spark.sql.*설정 항목들을 확인해요.