Skip to main content

[Tech 025] Dataproc Workflow Template을 활용하여 ETL 프로세스를 효율적으로 구성하는 방법

 

안녕하세요, 클루커스 구글 클라우드 컨설턴트 엄수민, 박보련, 오지수, 최재우입니다.
클루커스는 지금까지 데이터 분석, 보안, 시각화 등의 데이터 활용 방안부터 관리까지 다양한 분야를 소개드렸습니다.
효율적인 데이터 관리 및 활용을 위해서는 먼저 데이터를 잘 수집하고 가공하는 과정이 중요한데요.

데이터를 가공하는 과정은 수집한 데이터를 적재 전 가공하는 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 프로세스를 구성하는 방법에 대해 알아보겠습니다.

데모에서 사전 준비된 사항

  • 사용할 데이터 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

Secured By miniOrange