[ Data Engineer ] 데이터 엔지니어링 공부_02 : 데이터 파이프라인이란?
∇ 데이터 파이프라인의 정의.
:: "데이터 파이프라인"은
원천 데이터 소스에서 최종 분석/시각화까지 데이터를 자동화하여 이동시키는 일련의 프로세스입니다.
◎ 데이터 파이프라인 사용 예시.
- 파이프를 한번 만들면(just like 배수관 파이프, 여기서 데이터는 배수관 안에서 흐르는 물) 큰 문제가 없는 한 데이터가 계속 들어와서 쌓이게 될 것입니다.
- 적은 수고를 들이고 효율적으로 필요한 데이터를 모으려면
데이터를 가져오는 과정에서 정제자 전처리가 쉽도록, 데이터 형태도 고쳐주고 필요없는 데이터는 제거하고
함께 보는게 좋은 데이터들은 합쳐서 저장하면 좋습니다.
- > 이러한 목적으로 만드는 것이 "데이터 파이프라인"
∇ 데이터 파이프라인의 단계
◆ Data Extracting(Ingestion) : 데이터 추출(수집)
-> 다양한 형식의 원시 데이터를 수집하고 파이프라인으로 가져오는 단계,
-> API, SQL 및 NoSQL 데이터베이스, 파일 등 다양한 소스에서 데이터 추출
.
◆ Data Transforming(Precessing): 데이터 변경(처리)
-> 수집된 데이터를 정제, 변환, 집계, 필터링하는 단계.
-> ETL(Extram Transform, Load) 또는 ELT(Extract, Load, Transform) 과정 포함.
◆ Data combining(Storage) : 데이터 결합(저장)
-> 처리된 데이터를 데이터베이스, 데이터 웨어하우스, 데이터 레이크 등에 저장.
◆ Data validating(Analysis) : 데이터 검증(분석)
-> 저장된 데이터를 분석하여 인사이트 도출.
-> 데이터 시각화 도구, 통계 분석, 머신러닝 등 활용.
◆ Data loading(Consumption) : 데이터 적재(소비)
-> 분석된 데이터를 보고서, 대시보드, 애플리케이션, API 등을 통해 제공.
이 중 [ 데이터 추출, 변환, 적재 ] 를 묶어서 ETL이라고 합니다.
ETL은 데이터 파이프라인 하위 개념으로, 하나의 시스템에서 데이터를 추출해 변환하여
데이터 베이스 or 데이터 웨어하우스에 차곡차곡 쌓아둡니다.
∇ 데이터 파이프라인의 주요 특징.
▲ 데이터의 자동화된 흐름 지원.
▲ 다양한 데이터 소스 통합
▲ 데이터 품질 개선.
▲ 비즈니스 의사결정 지원.
∇ 데이터 파이프라인 유형.
1. 스트림 처리 파이프라인 : 실시간 데이터 처리.
2. 배치 처리 파이프라인 : 대량의 데이터를 주기적으로 처리.
∇ 데이터 파이프라인 구축을 위해 필요한 것.
1 ) 분산 처리 프레임워크
● Hadoop, Spark( PySpark )
● 대규모의 데이터 셋을 효율적으로 처리하기 위해서 사용합니다.
하나의 대형 컴퓨터를 사용해서 데이터를 처리 & 저장 하는 대신에,
분산 처리 프레임워크를 사용하면
상용 하드웨어를 함께 클러스터링하여 대량의 데이터 세트를 병렬로 분석 가능합니다.
2 ) 데이터 레이크.
● S3, HDFS
● 모든 데이터를 그대로 저장하고, 나중에 필요한 것만 꺼내서 사용하는 스토리지.
3 ) Workflow 관리 시스템.
● Airflow, Oozie, Dagster, Argo.
● 여러가지 태스크들(데이터셋 생성, 모델 학습 등)을 일련의 그래프로 연결하고
스케쥴링, 모니터링 등 파이프라인을 관리할 수 있습니다.
Airflow에서 사용한 'DAG'이란?
Directed Acyclic Graph, 즉 방향이 있지만 순환하지는 않는 그래프입니다.
라면 끓이는 work flow를 생각해보면
물끓이기 -> 스프 넣기 -> 면 넣기 -> 계란 넣기
task마다 방향은 있지만 다시 원류로 돌아오지는 않습니다.
순환하지 않는 이러한 그래프를 코드로 나타냅니다.
4 ) 데이터 레이크.
● BigQuery etc
● 대량의 데이터를 분석하기 좋게 체계적으로 보관해놓은 데이터 창고입니다.
● 가공되지 않은 데이터를 모아 놓은 창고는 '데이터 레이크' 입니다.
데이터 웨어하우스의 주요 특징 4가지
1. 주체 지향
=> 업무 중심이 아니라, 주제 중심으로 데이터를 조직화 합니다
[ 고객 거래처, 상품, 활동 등 ]
2. 통합
=> 데이터를 활용하기 좋은 형태로 변환하기 위해 표준화 기준으로
설정, 적용함으로 데이터를 통합해야 합니다.
3. 시계열
=> 시간 별로 데이터 버전들을 저장합니다.
[ 데이터를 시간에 따라 수시로 갱신하거나 변경 X ]
4. 비휘발성.
=> 데이터 우에ㅓ하우스의 데이터로 수행할 수 있는 작업은
데이터 로딩, 데이터 엑세스 뿐입니다.
[ 데이터의 변경, 삭제는 이뤄지지 않습니다. ]
'Data [ Engineer & Analytics &science ] > Data Engineer' 카테고리의 다른 글
[ Data Engineer ] 데이터 엔지니어링_금융 IT_01 : OLTP/ ETL/ ODS/ DW/ DM/ OLAP (0) | 2025.01.08 |
---|---|
[ Data Engineer ] 데이터 엔지니어링 공부_01 : 데이터 웨어하우스 / 데이터 마트/ 데이터 레이크란 ? (0) | 2025.01.07 |