Dataflow 기본

Dataflow Prime은 Apache Beam 파이프라인을 위한 서버리스 데이터 처리 플랫폼입니다. Dataflow를 기반으로 하는 Dataflow Prime은 컴퓨팅 및 상태 구분 아키텍처를 사용하고 효율성 향상 및 생산성 증가를 위해 설계된 기능을 포함합니다. Dataflow Prime을 사용하는 파이프라인은 자동화되고 최적화된 리소스 관리, 줄어든 운영 비용, 향상된 진단 성능 이점을 얻을 수 있습니다.

Dataflow Prime은 일괄 및 스트리밍 파이프라인을 모두 지원합니다. 기본적으로 Dataflow Prime은 일괄 파이프라인을 위해 Dataflow ShuffleDataflow Runner V2를 사용합니다.

SDK 버전 지원

Dataflow Prime은 다음 Apache Beam SDK를 지원합니다.

  • Apache Beam Python SDK 버전 2.21.0 이상

  • Apache Beam 자바 SDK 버전 2.30.0 이상

  • Apache Beam Go SDK 버전 2.44.0 이상

SDK 패키지를 다운로드하거나 출시 노트를 읽으려면 Apache Beam 다운로드를 참조하세요.

Dataflow Prime 기능

다음은 여러 종류의 파이프라인에 대해 지원되는 Dataflow Prime 기능 목록입니다.

  • 수직 자동 확장(메모리). Python, 자바, Go에서 스트리밍 파이프라인을 지원합니다.
  • 적합 맞춤(Dataflow Prime 리소스 힌트). Python 및 자바에서 일괄 파이프라인을 지원합니다.
  • 작업 최적화 도구. Python 및 자바에서 일괄 파이프라인을 지원합니다.
  • 스마트 추천. Python 및 자바에서 스트리밍 및 일괄 파이프라인을 모두 지원합니다.
  • 데이터 파이프라인. Python 및 자바에서 스트리밍 및 일괄 파이프라인을 모두 지원합니다.

작업 시각화 도구, 스마트 추천, 데이터 파이프라인은 Dataflow Prime 이외의 작업에도 지원됩니다.

수직 자동 확장

이 기능은 파이프라인의 요구에 맞게 그리고 메모리 부족 오류를 방지하기 위해 사용 가능한 메모리를 Dataflow 작업자 VM에 맞게 자동으로 조정합니다. Dataflow Prime에서 수직 자동 확장은 수평 자동 확장과 함께 리소스를 동적으로 확장합니다.

자세한 내용은 수직 자동 확장을 참조하세요.

적합 맞춤

이 기능에는 전체 파이프라인 또는 파이프라인의 특정 단계에 대해 리소스 요구사항을 지정할 수 있게 해주는 Apache Beam 기능인 리소스 힌트가 사용됩니다. 이 기능을 사용하면 파이프라인의 여러 단계에 대해 맞춤설정된 작업자를 만들 수 있습니다. 적합 맞춤을 사용하면 효율성을 극대화하고, 운영 비용을 낮추고, 메모리 부족 및 기타 리소스 오류를 방지하도록 파이프라인 리소스를 지정할 수 있습니다. 메모리 및 GPU 리소스 힌트를 지원합니다.

적합 맞춤을 사용하려면 Apache Beam 2.30.0 이상이 필요합니다.

자세한 내용은 Dataflow Prime 적합 맞춤을 참조하세요.

작업 최적화 도구

이 기능을 사용하면 Dataflow 작업의 성능을 확인하고 동시 로드 병목 현상을 포함하여 비효율적인 코드를 찾아서 작업 성능을 최적화할 수 있습니다. Google Cloud 콘솔에서 작업 페이지의 Dataflow 작업을 클릭하면 작업에 대한 세부정보를 볼 수 있습니다. 또한 파이프라인의 각 단계와 연관된 단계 목록을 확인할 수 있습니다.

자세한 내용은 실행 세부정보를 참조하세요.

스마트 추천

이 기능을 사용하면 작업 세부정보 페이지의 Diagnostics 탭에 제공된 권장사항을 기준으로 파이프라인을 최적화하고 문제 해결할 수 있습니다. Google Cloud 콘솔에서 작업 페이지의 Dataflow 작업을 클릭하면 작업에 대한 세부정보를 볼 수 있습니다.

자세한 내용은 권장사항 및 진단을 참조하세요.

데이터 파이프라인

이 기능을 사용하면 작업을 예약하고, 리소스 사용률을 관찰하고, 스트리밍 데이터를 위한 데이터 새로고침 목표를 추적하고, 파이프라인을 최적화할 수 있습니다.

자세한 내용은 데이터 파이프라인 작업을 참조하세요.

할당량 및 한도 요구사항

할당량 및 한도는 Dataflow와 Dataflow Prime 모두 동일합니다. 자세한 내용은 할당량 및 한도를 참조하세요.

Data Pipelines를 사용하는 경우 할당량 및 리전 엔드포인트에 대해 암시적으로 적용되는 항목이 추가로 더 있습니다.

지원되지 않는 기능

Dataflow Prime은 다음을 지원하지 않습니다.

  • Apache Beam Go SDK.

  • 교차 언어 변환에 대한 리소스 힌트. 이 제한사항에 대한 자세한 내용은 Apache Beam 문서를 참조하세요.

  • Python 파이프라인에 대한 --worker_machine_type 또는 --machine_type 플래그 및 자바 파이프라인에 대한 --workerMachineType을 사용하여 특정 VM 유형을 지정합니다.

  • 작업자 VM을 확인하거나 SSH를 사용하여 로그인합니다.

  • 자바 파이프라인에 대한 MapStateOrderedListState 클래스.

  • 커스텀 기간 유형.

  • 유연한 리소스 예약(FlexRS).

  • 수직 자동 확장과 함께 VPC 서비스 제어 사용 Dataflow Prime을 사용 설정하고 VPC 서비스 제어 경계 내에서 새 작업을 실행하는 경우 작업은 수직 자동 확장 없이 Dataflow Prime을 사용합니다.

위에서 명시적으로 언급되지 않았거나 기능 비교표에 없는 모든 파이프라인 옵션은 Dataflow 및 Dataflow Prime에서 모두 동일하게 작동합니다.

Dataflow Prime을 사용하기 전에

Dataflow Prime을 사용하려면 기존 파이프라인 코드를 재사용하고 또한 Cloud Shell 또는 프로그래매틱 방식으로 Dataflow Prime 옵션을 사용 설정해야 합니다.

Dataflow Prime은 Dataflow Shuffle을 사용하는 일괄 작업 및 Streaming Engine을 사용하는 스트리밍 작업에 대해 하위 호환성을 지원합니다. 하지만 프로덕션 환경에서 이를 사용하기 전에 파이프라인을 Dataflow Prime에서 테스트하는 것이 좋습니다.

스트리밍 파이프라인이 프로덕션에서 실행되는 경우 Dataflow Prime을 사용하기 위해 다음 단계를 수행합니다.

  1. 파이프라인을 중지합니다.

  2. Dataflow Prime을 사용 설정합니다.

  3. 파이프라인을 다시 실행합니다.

Dataflow Prime 사용 설정

파이프라인에 대해 Dataflow Prime을 사용 설정하려면 다음 안내를 따르세요.

  1. Cloud Autoscaling API를 사용 설정합니다.

    API 사용 설정

    Dataflow Prime은 Cloud Autoscaling API를 사용하여 메모리를 동적으로 조정합니다.

  2. 파이프라인 옵션에서 Prime을 사용 설정합니다.

    프로그래매틱 방식으로 또는 명령줄을 사용하여 파이프라인 옵션을 설정할 수 있습니다. 지원되는 Apache Beam SDK 버전의 경우 다음 플래그를 사용 설정합니다.

자바

--dataflowServiceOptions=enable_prime

Python

Apache Beam Python SDK 버전 2.29.0 이상:

--dataflow_service_options=enable_prime

Apache Beam Python SDK 버전 2.21.0~2.28.0:

--experiments=enable_prime

Go

--dataflow_service_options=enable_prime

템플릿에 Dataflow Prime 사용

Dataflow 템플릿을 사용하는 경우 다음 방법 중 하나로 Dataflow Prime을 사용 설정하도록 선택할 수 있습니다.

  1. 템플릿에서 작업 만들기 페이지에서 시작된 작업의 경우:

    1. 템플릿에서 작업 만들기 페이지로 이동합니다.

      템플릿에서 작업 만들기로 이동

    2. 추가 실험 필드에 enable_prime을 입력합니다.

  2. 명령줄 인터페이스를 통해 템플릿에서 시작된 작업의 경우 --additional-experiments=enable_prime 플래그를 전달합니다.

  3. 템플릿을 만들 때 Dataflow Prime을 사용 설정하려면 --experiments=enable_prime 플래그를 설정합니다.

Apache Beam 노트북에서 Dataflow Prime 사용

Apache Beam 노트북을 사용하는 경우 PipelineOptions를 사용하여 프로그래매틱 방식으로 Dataflow Prime을 사용 설정할 수 있습니다.

options = pipeline_options.PipelineOptions(flags={})
options.view_as(GoogleCloudOptions).dataflow_service_options = ['enable_prime']

노트북에서 Dataflow 옵션을 설정하는 방법에 대한 자세한 내용은 노트북에서 만든 파이프라인에서 Dataflow 작업 실행을 참조하세요.

Dataflow와 Dataflow Prime 기능 비교

다음 표에서는 두 가지 유형의 Dataflow에 사용 가능한 기능을 비교해서 보여줍니다.

기능 Dataflow Prime Dataflow
Runner V2 일괄 작업에 대해 해제 옵션이 없고 스트리밍 작업에 대해 선택적인 기본 기능 선택적인 기능
일괄 작업에 대한 Dataflow Shuffle 해제 옵션이 없는 기본 기능 해제 옵션이 있는 기본 기능
스트리밍 작업에 대한 Streaming Engine 자바 파이프라인에 대한 선택적인 기능 및 Python 파이프라인에 대한 상시 사용 설정 기능 자바 파이프라인에 대한 선택적인 기능 및 Python 파이프라인에 대한 해제 옵션
수평 자동 확장 해제 옵션이 있는 기본 기능 해제 옵션이 있는 기본 기능
수직 자동 확장 해제 옵션이 있는 기본 기능 해당 없음
적합 맞춤 선택적인 기능 해당 없음
결제 서버리스 결제 기존 청구

다음 단계