ETL(Extract, Transform, Load)이란?
난잡한 원시데이터에서 데이터 분석이 원활하게 할 수 있도록 분석하기 쉬운 데이터로
추출, 변환 시켜서 불러오는 작업
데이터 분석의 흐름
수집 -> 보존 -> 처리 -> 분석 -> 시각화
온프레미스 데이터 소스뿐 아니라 여러 AWS 컴퓨팅 및 스토리지 서비스 간에 데이터를 안정적으로 처리하고 지정된 간격으로 이동할 수 있게 지원하는 웹 서비스
◾ AWS 관리 서비스
◾ EC2 인스턴스 위에서 실행
◾ 노드 사이에서 데이터 마이그레이션 및 ETL 작업 수행
◾ 스케쥴러 기능(시간지정 및 사이클링 의존성 지정 등)
◾ 온프레미스에서 AWS로 데이터 이동 가능
구성요소
< AWS 관리 서비스 >
< 데이터 마이그레이션 및 ETL >
완전 관리형 ETL 서비스로, 효율적인 비용으로 간단하게 여러 데이터 스토어 및 데이터 스트링 간에 원하는 데이터를 분류, 정리, 보강, 이동할 수 있게 지원하는 웹 서비스
즉, 데이터 정제 기능을 가지고 있다.
◾ 서버리스로 관리할 인프라가 없음
◾ 크롤러(데이터 카탈로그를 추출)를 통해서 자동으로 스키마 생성
◾ GUI 클릭으로 자동으로 ETL 코드 자동 생성 및 수정
◾ 반정형 데이터를 관계형 데이터로 변환 가능
◾ 반복 일정과 이벤트에 따른 작없 실행
◾ Workflow, Step Functions를 통한 작업관리
<GLUE의 ETL 작업 수행과정>
1) 데이터의 원본을 크롤링하여 데이터 카탈로그에 메타데이터 생성
2) 데이터 카탈로그의 정보를 바탕으로 작업 정의
3) 정의된 작업에 따라서 ETL의 코드가 자동으로 생성
4) 작업 실행으로 소스 데이터에서 추출, 변환하여 타켓으로 로드
< GLUE Job >
AWS Data Pipeline | AWS GLUE |
---|---|
EC2 인스턴스 사용 | 서버리스 |
데이터의 이동 및 변환 자동화 | 데이터 카탈로그 수집 |
미리 작성된 템플릿 제공 | 규모와 목적에 따른 작업 실행환경 선택 |
온프레미스에서도 가능 | ETL 코드 자동으로 생성 |
대부분의 Data Pipeline 기능 할 수 있음 |
기존 Data Pipeline의 유저 덕분에 Data Pipeline이 유지되고 있는 것
전반적으로 요즘은 Glue를 많이 사용하는 것 같다. Glue의 장점등을 알게되었고 앞으로의 프로젝트에 Glue를 활용할 수 있는 기획을 구상해 보아야겠다는 생각을 하게되었다.
추후 공부해보면 좋을 사이트1
추후 공부해보면 좋을 사이트