안녕하세요, 클루커스 구글 클라우드 컨설턴트 엄수민, 박보련, 오지수, 최재우입니다.
클루커스는 지금까지 데이터 분석, 보안, 시각화 등의 데이터 활용 방안부터 관리까지 다양한 분야를 소개드렸습니다.
효율적인 데이터 관리 및 활용을 위해서는 먼저 데이터를 잘 수집하고 가공하는 과정이 중요한데요.
데이터를 가공하는 과정은 수집한 데이터를 적재 전 가공하는 ETL(Extract, Transfrom, Load)과
데이터 적재 후 목적에 맞게 가공하는 ELT(Extract, Load, Transform) 두 가지로 나눠 볼 수 있습니다.
이번 포스팅에서는 ETL 프로세스에 대해 알아보겠습니다.
먼저, 기업에서 ETL 프로세스가 필요한 이유는 무엇일까요?
ETL 프로세스를 사용하면, ETL 프로세스를 사용하면, 기업은 데이터를 더 효율적으로 관리하게 될 뿐만 아니라
의사결정의 개선이 가능하고 새로운 비즈니스 기회 창출 등 다양한 이점을 얻을 수 있기 때문입니다.
그렇다면 Google Cloud에서 어떻게 ETL 프로세스를 구성할 수 있을지 소개드리겠습니다.
일반적으로, Google Cloud에서는 ETL 프로세스 구성을 위해 Dataproc, Dataflow, Cloud Data Fusion 과 같은 서비스들을 주로 사용하게 되는데요.
이번 영상에서는 Dataproc 기반의 효율적인 ETL 프로세스를 구성하는 방법에 대해 알아보겠습니다.
이번 영상에서는 Dataproc 기반의 효율적인 ETL 프로세스를 구성하는 방법에 대해 알아보겠습니다.
데모에서 사전 준비된 사항
- 사용할 데이터 GCS(Google Cloud Storage) Bucket에 저장
- 데이터가 적재될 BigQuery Dataset 생성
데모에서 나온 Dataproc Workflow Template 생성 시 주의사항
- 클러스터 선택
– 새로 클러스터를 생성하려는 경우 ‘관리형 클러스터 추가’에서 ‘관리형 클러스터 구성’ 클릭하여 사용합니다.
– 기존 클러스터를 사용하려는 경우 ‘라벨별로 클러스터 풀 선택’에서 클러스터에 지정된 라벨을 입력합니다. - Private Cluster 생성
– ‘클러스터 구성’에 ‘클러스터 맞춤설정’에서 ‘내부 IP 전용’을 체크하면 Dataproc 클러스터를 외부 IP 없이 생성해 보다 Private한 환경 구성이 가능합니다. - Apache Spark와 함께 BigQuery에서 데이터를 읽거나 쓰려는 경우 Connector 설정
– ‘작업 추가’ 탭에서 ‘jar 파일’ 부분에 Google Cloud에서 제공하는 ‘spark-bigquery-connector’를 버전에 맞게 입력해야 합니다. - 특정 시간마다 Workflow Template을 동작해야 할 때
– Cloud Scheduler를 사용해 원하는 시간, 요일마다 동작 시킬 수 있습니다.
– Google Cloud의 관리형 Airflow인 Cloud Composer를 활용해 각 Dataproc Workflow를 DAG에서 수행할 Task로 등록하여 작업 스케줄링 및 오케스트레이션 할 수 있습니다.
Google Cloud에서 ETL 프로세스를 구축하시는데 도움이 필요하시다면, 클루커스와 함께 시작해보세요😊
Reference