Dataflow 템플릿

Dataflow 템플릿을 사용하면 Cloud Storage에서 파이프라인을 스테이지하고 다양한 환경에서 실행할 수 있습니다. Google에서 제공하는 템플릿 중 하나를 사용하거나 템플릿을 직접 만들 수 있습니다.

템플릿은 기존 Dataflow 배포와 비교해서 다음과 같은 추가적인 이점을 제공합니다.

  • 파이프라인을 실행하기 위해 매번 코드를 다시 컴파일할 필요가 없습니다.
  • 개발 환경 없이 그리고 기존 배포에서 흔히 발견되는 관련 종속 항목 없이 파이프라인을 실행할 수 있습니다. 이 템플릿은 반복되는 일괄 작업을 예약하는 데 유용합니다.
  • 런타임 매개변수를 사용하면 파이프라인 실행을 커스터마이즈할 수 있습니다.
  • 기술적 전문 지식이 없는 사용자는 Google Cloud Console, gcloud 명령줄 도구, REST API를 사용하여 템플릿을 실행할 수 있습니다.

기존 작업 실행과 템플릿 작업 실행 비교

Dataflow 템플릿은 기존의 작업 실행 워크플로와는 다른 새로운 개발 및 실행 워크플로를 도입합니다. 템플릿 워크플로는 개발 단계를 스테이징 및 실행 단계와 분리합니다.

기존 Dataflow 작업

Apache Beam 파이프라인 개발 및 작업 실행은 모두 개발 환경 내에서 이뤄집니다.

기존 Dataflow 작업의 일반적인 워크플로:

  1. 개발자는 개발 환경을 만들고 파이프라인을 개발합니다. 이 환경에는 Apache Beam SDK와 기타 종속 항목이 포함됩니다.
  2. 사용자는 개발 환경에서 파이프라인을 실행합니다. Apache Beam SDK가 Cloud Storage에서 파일을 스테이징하고 작업 요청 파일을 만든 다음 Dataflow 서비스에 파일을 제출합니다.

템플릿 기반 Dataflow 작업

Dataflow 템플릿을 사용하는 경우 준비 단계와 실행 단계가 별도로 이뤄집니다. 따라서 작업을 실행할 수 있는 작업자와 위치를 유연하게 결정할 수 있습니다.

템플릿 Dataflow 작업의 일반적인 워크플로:

  1. 개발자는 개발 환경을 만들고 파이프라인을 개발합니다. 이 환경에는 Apache Beam SDK와 기타 종속 항목이 포함됩니다.
  2. 개발자가 파이프라인을 실행하고 템플릿을 만듭니다. Apache Beam SDK가 Cloud Storage에서 파일을 준비하고 템플릿 파일을 만든 다음(작업 요청과 유사함) 템플릿 파일을 Cloud Storage에 저장합니다.
  3. 다른 사용자는 Cloud Console, gcloud 명령줄 도구, REST API를 사용하여템플릿 파일 실행 요청을 Dataflow 서비스에 제출해 쉽게 작업을 실행할 수 있습니다.

Flex 템플릿 Dataflow 작업

Dataflow Flex 템플릿을 사용하는 경우 준비 단계와 실행 단계가 별도로 이뤄집니다. 따라서 작업을 실행할 수 있는 사용자와 위치를 유연하게 정할 수 있으며, 입력 및 출력 매개변수에 따라 작업 실행 단계도 결정할 수 있습니다.

Flex 템플릿 Dataflow 작업의 일반적인 워크플로:

  1. 개발자는 개발 환경을 만들고 파이프라인을 개발합니다. 이 환경에는 Apache Beam SDK와 기타 종속 항목이 포함됩니다.
  2. 개발자는 파이프라인을 Docker 컨테이너에 패키징한 후 gcloud 명령줄 도구를 사용하여 Cloud Storage에 Flex 템플릿 파일을 빌드하고 저장합니다.
  3. 다른 사용자는 Cloud Console, gcloud 명령줄 도구, REST API를 사용하여 Flex 템플릿 파일 실행 요청을 Dataflow 서비스에 제출해 쉽게 작업을 실행할 수 있습니다.

시작하기 전에

템플릿을 직접 만들려면 사용 중인 Apache Beam SDK 버전이 템플릿 만들기를 지원하는지 확인합니다.

자바: SDK 2.x

자바용 Dataflow SDK 2.x로 템플릿을 만들려면 버전 2.0.0-beta3 이상이 필요합니다.

Python

Python용 Dataflow SDK 2.x로 템플릿을 만들려면 버전 2.0.0 이상이 필요합니다.

자바: SDK 1.x

gcloud 명령줄 도구로 템플릿을 실행하려면 Cloud SDK 버전 138.0.0 이상이 필요합니다.

다음 단계