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개의 레이어로 구성됨
- 소스 레이어(Source Layer)에서 데이터 수집과 관련된 것으로 여기서는 다양한 원천으로부터 데이터 수집
- 수집된 데이터는 DW 레이어(DW Layer)인 데이터웨어하우스로 전달되기 전 ETL 과정을 거침
- ETL 과정: 수집된 데이터들 중 필요한 데이터를 추출하고 형식에 맞게 변환시킨 수 DB나 DW에 저장
- DW 레이어에서는 데이터웨어하우스를 통해 조직 내 데이터를 체계적으로 관리하며 동시에 분석 레이어(Analysis layer)의 BI(Business Intelligence) 및 애널리틱스(Analytics) 등을 이용하여 의사결정에 필요한 적절한 데이터 분석도 이루어짐
- 조직 내에서 데이터웨어하우스(Data Warehouse, DW)를 기반으로 데이터 관리가 이루어지는 경우 크게 데이터의 수집/관리/분석의 역할로 나눠지며 각 역할로 나눠지며 각 역할을 위해 3개의 레이어로 구성됨
** DBMS는 주로 운영 데이터 관리에 초점이 맞춰져 있고, 데이터 웨어하우스는 분석과 의사결정을 위한 시스템으로 사용
소스 레이어 | ETL 레이어 | DW 레이어 | 분석 레이어 |
정보계/기간계/관리계 빅데이터 |
데이터웨어하우스 빅데이터 플랫폼 |
BI 애널리틱스 |
- ETL 기능
- 추출, 변환, 적재 기능 외의 기능도 수행
- 논리적 데이터 변환/ 도메인 검증/ DBMS 간 변환/ 데이터 요약/ 데이터 키 값으로 시간 값 추가/ 데이터 키 값 재구성/ 레코드 통합/ 불필요한 데이터 삭제 및 중복 데이터 삭제
데이터 변환 절차
비정형 데이터를 정형 데이터로 변환하여 저장할 때 관계형 DBMS(Relational Database Management System)을 가장 많이 사용
** 추후 필요 시 내용 추가 예정
728x90
'빅데이터 분석기사[python] > 데이터 분석' 카테고리의 다른 글
[데이터 분석] 1-5. 데이터 품질 검증 (0) | 2024.12.23 |
---|---|
기본적 데이터 분석을 위한 기초 SQL문 (0) | 2024.12.22 |
[데이터 분석] 1-2. 데이터 유형 및 속성 파악 (0) | 2024.12.22 |
[데이터 분석] 1-1. 데이터 수집 (0) | 2024.12.22 |