Google Cloud Data Fusion은 데이터 통합을 위한 완전 관리형 클라우드 서비스로, 다양한 데이터 소스와 싱크를 연결하고, 데이터를 변환하며, 파이프라인을 구축할 수 있도록 지원한다. 이러한 파이프라인의 실행을 위해 Cloud Data Fusion은 Google Cloud의 Dataproc 서비스를 활용한다.
1. Dataproc란?
그럼 Dataproc이란 무엇이냐하면 Dataproc은 Apache Spark와 Apache Hadoop을 기반으로 한 완전 관리형 서비스로 배치 처리, 쿼리, 스트리밍, 머신러닝 등 다양한 작업을 수행할 수 있다. Dataproc은 클러스터의 생성, 관리, 확장 및 종료를 자동화하여 사용자가 인프라 관리에 소요되는 시간을 줄이고 데이터 처리에 집중할 수 있도록 돕는다.
2. Dataproc의 주요 특징
- 빠른 클러스터 생성 및 제거
- 평균 90초 이내에 클러스터를 생성하거나 삭제할 수 있다. 이는 데이터 처리 작업의 준비 시간을 줄이고 필요할 때만 리소스를 사용해 비용 절감을 도와준다.
- 비용 효율성
- 초당 과금 모델을 통해 클러스터를 사용한 시간만큼만 비용이 부과되기 때문에 주의해야하며 Preemptible VM 을 활용하여 테스트나 임시 작업 진행이 필요할 때 활용하면 비용을 추가로 절감할 수 있다.
- ※ Preemptible VM 은 Google Cloud에서 제공하는 비용 효율적인 컴퓨팅 인스턴스로, 일시적인 특성을 가지며, 기본적으로 짧은 시간 동안 실행되도록 설계된 가상 머신이다.
- 초당 과금 모델을 통해 클러스터를 사용한 시간만큼만 비용이 부과되기 때문에 주의해야하며 Preemptible VM 을 활용하여 테스트나 임시 작업 진행이 필요할 때 활용하면 비용을 추가로 절감할 수 있다.
- 자동 확장(Auto-Scaling)
- 워크로드에 따라 클러스터의 노드 수를 자동으로 확장하거나 축소합니다.이를 통해 성능과 비용 효율성을 모두 극대화할 수 있다.
- 다양한 워크로드 지원
- 배치 처리(Batch Processing), 스트리밍 분석, SQL 쿼리, 머신러닝 모델 훈련 등의 작업에 활용될 수 있다.
- Google Cloud와의 통합
- BigQuery, Cloud Storage 등 Google Cloud의 다른 서비스와 긴밀히 통합되어 데이터 작업의 효율성을 높인다.
3. Cloud Data Fusion과 Dataproc의 통합
Cloud Data Fusion은 파이프라인 실행 시 Dataproc을 활용하여 다음과 같은 방식으로 작동한다.
- 에페멀 클러스터 생성
- 파이프라인 실행 시마다 Cloud Data Fusion은 Dataproc API를 호출하여 에페멀(일시적) 클러스터를 생성한다. 이러한 클러스터는 파이프라인 실행이 완료되면 자동으로 삭제되어 비용 효율성을 높인다.
- 클러스터 구성
- 사용자는 Dataproc 프로비저너 설정을 통해 클러스터의 구성 요소를 정의할 수 있으며, Cloud Data Fusion 6.5.0부터 실행할 때마다 Dataproc 클러스터를 재사용하여 처리 시간을 향상시킬 수 있다.
- 정적 클러스터를 사용한다면 작업을 수행하는 시간을 단축시킬 수 있다.
- 설정 가능한 요소는 아래와 같다.
- 클러스터 노드 구성 - 마스터와 워커 노드의 수, 머신 유형
- 스토리지 - 디스크 크기, SSD/HDD 선택
- 소프트웨어 스택 - Hadoop, Spark 버전 등
- 기존 클러스터 사용
특정 시나리오에서는 기존의 Dataproc 클러스터를 활용하여 파이프라인을 실행할 수 있다. 이를 통해 클러스터 생성 시간을 절약하고, 중앙 집중식 클러스터 관리 정책을 적용할 수 있다. - 데이터 변환 및 처리 방식
- 파이프라인 설계 단계에서 데이터 변환, 필터링, 집계 등의 작업을 정의하며, Dataproc은 이러한 작업을 실행해 대규모 데이터 세트를 처리하며 결과를 데이터 싱크로 전달다.
4. Dataproc의 클러스터 작업 흐름
Dataproc 클러스터는 Spark/Hadoop 작업을 다음과 같은 단계로 처리된다.
- 클러스터 생성
- Cloud Data Fusion은 API를 통해 Dataproc 클러스터를 자동으로 생성한다.
- 작업 실행
- 클러스터에서 파이프라인 작업이 실행됩니다. 이때 Spark 작업은 메모리 기반으로 실행되어 높은 처리 속도를 제공한다.
- 결과 전송
- 작업 완료 후 결과는 BigQuery, Cloud Storage, Cloud SQL과 같은 데이터 싱크로 전달된다.
- 클러스터 삭제
- 파이프라인 작업이 끝나면 클러스터가 자동으로 삭제된다.
Cloud Data Fusion과 Dataproc의 조합은 대규모 데이터 처리와 통합 파이프라인 구축을 위한 강력하고 유연한 플랫폼을 제공한다. 특히, Dataproc의 자동화된 Cluster 관리 및 Cloud Data Fusion의 비주얼 파이프라인 설계는 데이터를 다루는 데 필요한 복잡성을 크게 줄여준다.
이를 통해 데이터 엔지니어는 데이터 통합과 처리를 보다 효율적이고 신속하게 수행할 수 있을 뿐 아니라, 다양한 데이터 처리 요구사항을 충족할 수 있으니 Dataproc를 활용할 때 참고하면 될 것 같다.
참고자료
https://cloud.google.com/dataproc/docs/concepts/overview?hl=ko
Dataproc 개요 | Dataproc Documentation | Google Cloud
의견 보내기 Dataproc 개요 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Dataproc은 일괄 처리, 쿼리, 스트리밍, 머신러닝에 오픈소스 데이터 도구를 활용할 수
cloud.google.com
https://cloud.google.com/data-fusion/docs/concepts/dataproc
Dataproc provisioner properties | Cloud Data Fusion Documentation | Google Cloud
Describes configurations for the Dataproc profile in Cloud Data Fusion compute profiles
cloud.google.com
https://cloud.google.com/data-fusion/docs/how-to/running-against-existing-dataproc?hl=ko
기존 Dataproc 클러스터에 대해 파이프라인 실행 | Cloud Data Fusion Documentation | Google Cloud
기존 Dataproc 클러스터에서 파이프라인을 실행합니다.
cloud.google.com
https://cloud.google.com/data-fusion/docs/concepts/configure-clusters?hl=ko#best_practices
클러스터 구성 | Cloud Data Fusion Documentation | Google Cloud
의견 보내기 클러스터 구성 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 페이지에서는 Cloud Data Fusion에서 정적 Dataproc 클러스터를 사용해야 하는 시기,
cloud.google.com
https://cloud.google.com/data-fusion/docs/concepts/cluster-sizing?hl=ko
클러스터 크기 조정 | Cloud Data Fusion Documentation | Google Cloud
Cloud Data Fusion에서 워크로드의 클러스터 크기 설정을 설명합니다.
cloud.google.com
'Data Engineering > Cloud' 카테고리의 다른 글
[GCP] Google Cloud Data Fusion 소개 (1) | 2024.08.25 |
---|---|
[Cloud] 클라우드 서비스의 종류 ; IaaS, PaaS, SaaS (1) | 2023.08.20 |