목록 보기
ETL 성능 향상을 위한 몇 가지 팁들
백엔드

ETL 성능 향상을 위한 몇 가지 팁들

NC소프트 DANBI
NC소프트 DANBI
2021년 11월 5일

두줄요약

HiveQL과 RDBMS 쿼리 구조를 개선해 ETL 처리 성능을 높이는 방법을 소개했습니다. 데이터 검증, 로그, 스케줄링을 통한 안정적인 ETL 운영 방식도 정리했습니다.

문제 상황

  • 대규모 ETL의 지연으로 인한 목표 시간 미준수와 다른 작업 자원 점유
  • HiveQL·RDBMS 쿼리의 비효율적 필터링·조인·인덱스 사용

해결 방법

  • Hive 조건절의 UDF를 기본 함수로 교체해 파티션 프루닝 활용
  • COUNT(DISTINCT)를 중간 GROUP BY로 분리해 다수 리듀서에 작업 분산
  • 큰 테이블의 조인 순서 조정, OUTER JOIN 전 파티션 필터 적용, 필요한 컬럼만 조회

성능/운영 포인트

  • ETL 대량 처리에서 불필요한 인덱스와 함수 기반 WHERE 조건 최소화
  • OR 조건의 함수·개별 쿼리·UNION 전환 검토
  • 샘플 데이터 적재, 소스 데이터·시스템 검증, 실행 시간·오류·행 수 로그 유지

적용해볼 점

  • ETL 개발 시작 전 기본 키·데이터 관계·누락 데이터·자료형 확인
  • 소스 로드와 최종 적재 지점의 불일치 비교로 데이터 누락·중복 원인 분리
  • 작업 시기와 자원 효율을 고려한 ETL 스케줄링

엔씨소프트 계열사 채용7건

채용 사이트에서 전체 보기

다음 읽기

#ETL 주제를 이어서 읽기

ETL 개념과 ETL 개발 시 고려해야 하는 원칙들

ETL의 추출·변환·적재 흐름과 데이터 웨어하우스에서의 역할을 정리했습니다. 멱등성, 점진 적재, 파티셔닝, 테스트와 모니터링 원칙을 제시했습니다.

NC소프트 DANBI
NC소프트 DANBI
백엔드
전체 보기

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...