AWS Glue Data Quality는 데이터 레이크 환경에서 품질 검증을 표준화하기 위한 서비스입니다.
최근 Pre-processing Query 기능이 GA(정식 출시) 되면서, 데이터 품질 평가 전에 SQL 기반 전처리를 직접 수행할 수 있게 되었습니다.
AWS Glue Data Quality Pre-processing Query 개요
기존 Glue Data Quality는 카탈로그에 등록된 테이블 원본 데이터를 기준으로 바로 품질 평가를 수행했습니다.
이 방식은 단순한 null 체크나 범위 검증에는 충분했지만, 다음과 같은 경우에는 한계가 있었습니다.
- 파생 컬럼이 필요한 경우
- 특정 조건의 데이터만 품질 검증을 하고 싶은 경우
- 데이터 정규화 후 품질을 평가해야 하는 경우
Pre-processing Query는 이 문제를 해결하기 위해 도입되었습니다.
품질 규칙 실행 직전에 SQL 쿼리를 한 번 더 실행하여, 결과 데이터셋을 기준으로 품질 평가를 수행합니다.
별도의 Glue Job이나 ETL 파이프라인을 추가하지 않아도 되며,
Data Quality API 흐름 안에서 자연스럽게 동작합니다.
Pre-processing Query 적용 범위
공식 문서를 기준으로 보면 Pre-processing Query는 다음 두 API에서 사용됩니다.
- StartDataQualityRuleRecommendationRun
- StartDataQualityRulesetEvaluationRun
중요한 점은 Data Catalog 테이블을 직접 수정하지 않는다는 점입니다.
Pre-processing Query는 품질 평가 시점에만 임시 데이터셋을 생성합니다.
즉,
- 원본 데이터: 변경 없음
- 전처리 결과: 품질 평가 용도 전용
이 구조는 운영 데이터 안정성 측면에서 상당히 안전합니다.
설정
1. Data Catalog 테이블 준비
Pre-processing Query는 반드시 Glue Data Catalog에 등록된 테이블을 기준으로 합니다.
- 크롤러 또는 직접 테이블 정의 필요
- Athena에서 조회 가능한 구조여야 합니다
- Parquet, ORC, CSV 등 일반적인 포맷은 모두 지원됩니다
여기까지는 기존 Glue Data Quality와 동일합니다.
2. Pre-processing Query 작성
Pre-processing Query는 Athena SQL 문법과 동일한 SQL을 사용합니다.
실제로 테스트해본 결과, 복잡한 윈도우 함수보다는 명확한 SELECT 기반 전처리가 안정적이었습니다.
예시:
SELECT
order_id,
customer_id,
order_date,
tax + shipping_fee AS total_fees
FROM orders
WHERE order_date >= DATE '2025-01-01'
이 쿼리는 다음을 수행합니다.
- 파생 컬럼 생성 (total_fees)
- 특정 기간 데이터만 품질 평가 대상으로 제한
이 결과 셋을 기준으로 이후 품질 규칙이 실행됩니다.
3. 품질 규칙 또는 추천 실행 시 Query 지정
콘솔에서는 Data Quality 설정 단계에서 Pre-processing Query 입력란이 추가되어 있습니다.
API 기준으로는 PreProcessingQuery 필드를 사용합니다.
예시:
"PreProcessingQuery": {
"Sql": "SELECT ... FROM ... WHERE ..."
}
여기서 주의할 점은 다음과 같습니다.
- Query 결과 컬럼만 품질 규칙 대상이 됩니다
- 원본 테이블 컬럼과 규칙 컬럼이 불일치하면 평가가 실패합니다
- 컬럼 이름 변경 시 규칙도 함께 수정해야 합니다
활용 시나리오
파생 컬럼 기반 품질 검증
실무에서 가장 많이 사용한 패턴입니다.
- 금액 합계
- 비율 계산
- 상태 코드 변환
이전에는 Glue Job으로 전처리 후 별도 테이블을 만들어야 했지만,
Pre-processing Query로 품질 평가 단계에서 바로 처리할 수 있습니다.
특정 데이터만 품질 평가
대용량 테이블에서 전체 데이터를 품질 검사하는 것은 비용과 시간이 부담됩니다.
- 특정 파티션
- 최근 데이터
- 특정 상태 값
이런 조건을 Query에서 걸러내면 품질 검사 속도와 비용을 동시에 줄일 수 있습니다.
복잡한 ETL 단계 제거
기존 구조는 다음과 같았습니다.
- Glue Job 전처리
- 임시 테이블 생성
- Data Quality 실행
Pre-processing Query 적용 후에는 다음으로 단순화됩니다.
- Data Quality 실행 (전처리 포함)
운영 복잡도가 확실히 줄어듭니다.
주의사항
공식 발표 기준으로 보면,
- 추가 요금은 없습니다
- 기존 Glue Data Quality 과금 모델과 동일합니다
- Glue Data Quality가 제공되는 모든 상용 리전에서 사용 가능합니다
다만, Query가 복잡해질수록 실행 시간은 늘어날 수 있습니다.
전처리를 과도하게 넣는 것은 추천하지 않습니다.
정리
Pre-processing Query는 ETL을 대체하는 기능은 아닙니다. 하지만 품질 검증을 위한 최소한의 전처리에는 충분합니다.
특히 다음 환경에서는 효과적입니다.
- Athena 기반 데이터 레이크
- 품질 규칙이 자주 바뀌는 환경
- 운영 파이프라인을 단순화하고 싶은 경우
Glue Job을 하나 줄일 수 있다는 것만으로도 운영 부담이 확실히 줄어듭니다.
'AWS' 카테고리의 다른 글
| [AWS] Amazon Quick Flows 스케줄링 구성 가이드 (0) | 2026.01.01 |
|---|---|
| [AWS] Amazon OpenSearch Agentic Search 구축 가이드 (0) | 2026.01.01 |
| [AWS] Quick Research 서드파티 데이터 통합 구성 방법 (0) | 2025.12.28 |
| [AWS] Amazon EMR Spark 업그레이드 (0) | 2025.12.28 |
| [AWS] Amazon S3 Tables 자동 복제(Replication) 설정 방법 (0) | 2025.12.27 |