Cloud Dataflow란
Cloud Dataflow는 Google GCP 상에서 일괄처리 및 스트리밍 처리를 위한 관리형 서비스로Apache Beam SDK (Java, Python 지원)를 이용하여 개발자가 기능을 확장 및 구축할 수 있습니다.
또한 GCP의 서버리스 접근방식으로 성능, 확장, 가용성, 보안, 규정 준수를 자동으로 처리하여 사용자가 서버 클러스터를 관리하는 대신 프로그래밍에 전념할 수 있어 운영 간접비가 사라집니다. 주요기능은 다음과 같습니다.
- 자동화된 리소스 관리
- 동적 작업 재균등화
- 안정적이고 일관된 처리
- 수평식 자동 확장통합 프로그래밍 모델
- 커뮤니티 주도 혁신
뉴스레터 가입
클라우드 관련 최신 소식을 업데이트 받으실 수 있습니다.
1. Cloud Dataflow 개발 환경 준비 (Java 기준)
1) 필요 소프트웨어
- Eclipse 4.7.x 이상 (여기서는 4.7.3 Oxygen 버전으로 테스트)
- JDK 1.8.0_xxx 이상
- Google Cloud Tools for Eclipse 1.6.1 (Eclipse PlugIn)
2) Eclipse 플러그인 설치
A. Eclipse 를 구동시킨후에 Help > Eclipse Marketplace 메뉴를 클릭합니다.
B. 아래 화면의 Find 입력란에 검색어 “dataflow” 를 입력합니다.
C. Google Cloud Tools for Eclipse 1.6.1 버전을 확인후 오른쪽 하단의 install 버튼을 클릭해서 플러그인 설치를 진행합니다.
D. 플러그인 설치 이후 Eclipse 를 다시 구동 합니다.
2. Cloud Dataflow 프로젝트 생성 및 배포
1) Dataflow 프로젝트를 생성하기 위해 Google Cloud Dataflow Java Project 를 선택합니다.
[메뉴] File > New > Project > Google Cloud Platform > Google Cloud Dataflow Java Project
2) Group ID (패키지 네임스페이스) 와 Artifact ID (프로젝트명) 를 설정합니다.
3) GCP 클라우드 정보를 설정합니다.
Account | Google 계정 |
Cloud Platform Project ID | GCP 프로젝트 ID |
Cloud Storage staging location | 소스가 임시적으로 올라갈 위치 Cloud Storage Bucket 정보 |
4) Cloud Dataflow 프로젝트 생성을 모두 완료하면 다음과 같이 자동적으로 StarterPipeline.java 파일이 생성됩니다.
5) Cloud Dataflow 실행을 위해서는 Pipeline Arguments 를 선택해야하며 다음과 같이 두가지 종류가 있습니다. Cloud 환경에서 확인을 하기 위하여 DataflowRunner 를 설정합니다.
[메뉴] Run > Run Configurations > Pipeline Arguments
DirectRunner | 로컬장비에서 실행하는 경우 |
DataflowRunner | Cloud 환경에서 실행하는 경우 |
6) 컴파일 및 GCP에 deploy 가 완료되는 경우에 다음과 같이 GCP Dataflow 콘솔에서 확인할 수 있습니다. Sample 소스 및 화면을 참고하시기 바랍니다.
[GCP Dataflow Sample 소스]
[GCP Dataflow 콘솔 화면]
실무자를 위한 Step by Step Guide
구글 클라우드 플랫폼(GCP)에 대해 더 알고 싶으세요?
베스핀글로벌의 GCP 전문 엔지니어가 답해드립니다.