빅데이터 분석기사[python]/데이터 분석

[데이터 분석] 1-3. 데이터 변환

sunning 2024. 12. 23. 20:30
728x90
데이터 변환: 추출(Extraction), 변환(Transformation), 적재(Load)의 과정 = ETL
과거엔 DBMS의 쿼리나 별도 소프트웨어를 개발하여 이루어졌으나 현재는 ETL 도구들이 광범위하게 사용됨

빅데이터 변환의 이해

  • 데이터 분석 목적에 따라 데이터를 변환시킬 필요가 있음
  • 데이터 변환(Transformation): 정해진 규칙에 의해 바꾸는 것을 의미, 특히 비정형/반정형 데이터를 정형 데이터의 구조적 형태로 전환하여 저장하는 것
  • 효과적인 빅데이터 분석을 위해서 레거시(Legacy) 데이터들을 우선 통합하고 비정형 데이터를 정형 데이터로 변환하여 레거시 데이터와의 통합이 이루어짐

데이터 전/후처리 단계

데이터 전처리: 수집된 데이터를 저장소에 적재하기 위해 데이터 필터링, 유형 변환, 정재 등의 기술로 데이터를 변환하는 단계
데이터 후처리: 저장된 데이터를 분석에 용이하도록 변환, 통합, 축소 등의 기술을 사용하여 가공하는 단계
  • 데이터 전처리 시 고려사항
    • 유형 분류 시, 분류 기준을 적용할 수 있는 기능 제공
    • 변환에 필요한 알고리즘 혹은 구조를 정의할 수 있는 기능 제공
    • 사용자 지정 기준에 맞게 변환되었는지 확인 기능 제공
    • 데이터 변환 실패 시 재시도 및 취소할 수 있는 기능 제공
    • 실패 이력 저장 및 해당 내용을 사용자에게 전달하는 기능 제공
    • 결과 데이터 저장 기능 제공
  • 데이터 후처리 시 고려사항
    • 이상값(Outlier)을 추세에 맞게 변환 또는 추천할 수 있는 기능 제공
    • 집계(Aggregation) 시, 데이터 요약 기능 제공
    • 특정 구간에 분포하는 값 추출 등에 대한 확인 기능을 통해 변환, 패턴, 이벤트를 감시할 수 있는 기능 제공
    • 원시 데이터셋과 변환 후 데이터셋 간의 변환 로그를 저장할 수 있는 기능 제공

데이터 변환 기술

데이터 변환: 수집된 데이터를 분석에 용이하도록 정해진 규칙에 따라 일관성 있는 형식으로 바꾸는 것

기술 내용
평활화
(Smoothing)
- 데이터로부터 잡음을 제거하기 위해 데이터 추세에서 벗어나는 값을 변환함
- 구간화, 군집화 방법을 이용함
집계
(Aggregation)
- 다양한 차원의 방법으로 데이터를 요약함
- 여러 개의 표본을 하나의 표본으로 줄이는 방법, 함수를 이용해 일괄적으로 변수 변환을 적용하여 새로운 변수로 값을 생성하는 방법 등을 이용함
일반화
(Generalization)
- 특정 구간에 분포하는 값으로 스케일 변화
- 특정 데이터가 아닌 범용 데이터에 적합한 모델을 만드는 방법
정규화
(Normalization)
- 데이터가 정해진 구간 내에 포함되도록 함
- 데이터에 대한 최소-최대 정규화, z-스코어 정규화, 소수 스케일링 등의 통계적 기법 적용
속성 생성
(Attribute/Feature Construction)
- 데이터 통합을 위해 새로운 속성 및 특징을 만듦
- 주어진 여러 데이터 분포를 대표할 수 있는 새로운 속성 및 특징 활용

ETL 프로세스 (★)

  • ETL 개념
    • 데이터의 이동, 변환 절차와 관련된 업계 표준용어
    • 서로 다른 시스템 간의 데이터 공유를 위한 가장 일반적인 형태의 하나로, 기존 레거시 시스템 환경으로부터 빅데이터를 추출하여 비즈니스 데이터로 변환할 수 있도록 지원
    • 다양한 데이터 원천으로부터 추출 및 변환된 데이터를 운영데이터 스토어(Operational Data Store), 데이터웨어하우스(Data Warehouse), 데이터 마트(Data Mart) 등에 적재하는 작업에서 핵심적 역할 수행
    • 데이터 이동 및 변환이 주된 목적이고, 데이터 통합(Data Integration), 데이터 이동(Data Migration), 마스터 데이터 관리(Master Data Management) 등의 작업을 위해서도 활용
      • 데이터 통합(Data Integration) 예시: 빅데이터 분석 플랫폼에서 다양한 소스(ERP, CRM, 웹 로그 데이터 등)에서 데이터를 가져와 통합 / 의료 시스템에서 환자의 정보를 여러 병원 시스템으로부터 통합하여 하나의 뷰로 제공
      • 데이터 이동 (Data Migration) 예시: 기업의 기존 온프레미스 데이터베이스를 클라우드 기반 데이터 웨어하우스로 이동/ 레거시 시스템에서 새로운 ERP 시스템으로 데이터 이전/ 정형화되지 않은 로그 데이터를 새로운 데이터 레이크(Data Lake)로 옮기는 작업
      • 마스터 데이터 관리: 조직 내 여러 시스템에서 사용되는 데이터를 표준화하고 관리하여 데이터의 일관성을 유지
    • 다양한 시스템들 간 대용량의 데이터 교환이 필요하거나 복잡한 비즈니스 룰이 적용되는 데이터 교환이 필요한 경우 활용
    • ETL 구현을 위한 다양한 상용 소프트웨어들이 나와 있으며 일괄 ETL(Batch ETL)이나 실시간 ETL로 나뉨
구분 내용
Extraction(추출) 데이터 원천으로부터 데이터 획득
Transformation(변환) 데이터 클렌징, 표준화, 형식변환, 통합, 다수 애플리케이션에 내장된 비즈니스 룰 적용
Load(적재) 변환된 데이터를 특정 목표 시스템에 적재
  • ETL 역할
    • 조직 내에서 데이터웨어하우스(Data Warehouse, DW)를 기반으로 데이터 관리가 이루어지는 경우 크게 데이터의 수집/관리/분석의 역할로 나눠지며 각 역할로 나눠지며 각 역할을 위해 3개의 레이어로 구성됨
      1. 소스 레이어(Source Layer)에서 데이터 수집과 관련된 것으로 여기서는 다양한 원천으로부터 데이터 수집
      2. 수집된 데이터는 DW 레이어(DW Layer)인 데이터웨어하우스로 전달되기 전 ETL 과정을 거침
      3. ETL 과정: 수집된 데이터들 중 필요한 데이터를 추출하고 형식에 맞게 변환시킨 수 DB나 DW에 저장
      4. DW 레이어에서는 데이터웨어하우스를 통해 조직 내 데이터를 체계적으로 관리하며 동시에 분석 레이어(Analysis layer)의 BI(Business Intelligence) 및 애널리틱스(Analytics) 등을 이용하여 의사결정에 필요한 적절한 데이터 분석도 이루어짐

** DBMS는 주로 운영 데이터 관리에 초점이 맞춰져 있고, 데이터 웨어하우스는 분석과 의사결정을 위한 시스템으로 사용

소스 레이어 ETL 레이어 DW 레이어 분석 레이어
정보계/기간계/관리계
빅데이터
  데이터웨어하우스
빅데이터 플랫폼
BI
애널리틱스
  • ETL 기능
    • 추출, 변환, 적재 기능 외의 기능도 수행
    • 논리적 데이터 변환/ 도메인 검증/ DBMS 간 변환/ 데이터 요약/ 데이터 키 값으로 시간 값 추가/ 데이터 키 값 재구성/ 레코드 통합/ 불필요한 데이터 삭제 및 중복 데이터 삭제

데이터 변환 절차

비정형 데이터를 정형 데이터로 변환하여 저장할 때 관계형 DBMS(Relational Database Management System)을 가장 많이 사용

** 추후 필요 시 내용 추가 예정

728x90