Dataflow Prime은 Apache Beam 파이프라인을 위한 서버리스 데이터 처리 플랫폼입니다. Dataflow를 기반으로 하는 Dataflow Prime은 컴퓨팅 및 상태 구분 아키텍처를 사용합니다. 다음과 같은 경우 Dataflow Prime이 파이프라인 효율성을 개선할 수 있습니다.
- 파이프라인에 수직 자동 확장을 적용하면 이점이 있습니다.
Dataflow Prime은 일괄 및 스트리밍 파이프라인을 모두 지원합니다. 기본적으로 Dataflow Prime은 일괄 파이프라인을 위해 Dataflow Shuffle 및 Dataflow 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, Java, Go에서 스트리밍 파이프라인을 지원합니다.
- 적합 맞춤 (리소스 힌트) Python 및 자바에서 일괄 파이프라인을 지원합니다.
- 작업 최적화 도구. Python 및 자바에서 일괄 파이프라인을 지원합니다.
- 스마트 추천. Python 및 자바에서 스트리밍 및 일괄 파이프라인을 모두 지원합니다.
- 데이터 파이프라인. Python 및 자바에서 스트리밍 및 일괄 파이프라인을 모두 지원합니다.
작업 시각화 도구, 스마트 추천, 데이터 파이프라인은 Dataflow Prime 이외의 작업에도 지원됩니다.
수직 자동 확장
이 기능은 파이프라인의 요구에 맞게 그리고 메모리 부족 오류를 방지하기 위해 사용 가능한 메모리를 Dataflow 작업자 VM에 맞게 자동으로 조정합니다. Dataflow Prime에서 수직 자동 확장은 수평 자동 확장과 함께 리소스를 동적으로 확장합니다.
자세한 내용은 수직 자동 확장을 참조하세요.
적합 맞춤
이 기능에는 Apache Beam의 기능인 리소스 힌트가 사용됩니다. 리소스 힌트를 사용하면 전체 파이프라인 또는 파이프라인의 특정 단계에 대해 리소스 요구사항을 지정할 수 있습니다. 이 기능을 사용하면 파이프라인의 여러 단계에 대해 맞춤설정된 작업자를 만들 수 있습니다. 적합 맞춤을 사용하면 효율성을 극대화하고, 운영 비용을 낮추고, 메모리 부족 및 기타 리소스 오류를 방지하도록 파이프라인 리소스를 지정할 수 있습니다. 메모리 및 GPU 리소스 힌트를 지원합니다.
적합 맞춤을 사용하려면 Apache Beam 2.30.0 이상이 필요합니다.
자세한 내용은 적합 맞춤을 참고하세요.
작업 최적화 도구
이 기능을 사용하면 Dataflow 작업의 성능을 확인하고 동시 로드 병목 현상을 포함하여 비효율적인 코드를 찾아서 작업 성능을 최적화할 수 있습니다. Google Cloud 콘솔의 작업 페이지에서 Dataflow 작업을 클릭하면 작업에 대한 세부정보를 볼 수 있습니다. 또한 파이프라인의 각 단계와 연관된 단계 목록을 확인할 수 있습니다.
자세한 내용은 실행 세부정보를 참조하세요.
스마트 추천
이 기능을 사용하면 작업 세부정보 페이지의 진단 탭에 제공된 권장사항을 기준으로 파이프라인을 최적화하고 문제 해결할 수 있습니다. Google Cloud 콘솔의 작업 페이지에서 Dataflow 작업을 클릭하면 작업에 대한 세부정보를 볼 수 있습니다.
자세한 내용은 권장사항 및 진단을 참조하세요.
데이터 파이프라인
이 기능을 사용하면 작업을 예약하고, 리소스 사용률을 관찰하고, 스트리밍 데이터를 위한 데이터 새로고침 목표를 추적하고, 파이프라인을 최적화할 수 있습니다.
자세한 내용은 데이터 파이프라인 작업을 참조하세요.
할당량 및 한도 요구사항
할당량 및 한도는 Dataflow와 Dataflow Prime 모두 동일합니다. 자세한 내용은 할당량 및 한도를 참조하세요.
Data Pipelines를 사용하는 경우 할당량 및 리전에 대해 암시적으로 적용되는 항목이 추가로 더 있습니다.
지원되지 않는 기능
Dataflow Prime은 다음을 지원하지 않습니다.
Python 파이프라인에 대한
--worker_machine_type
또는--machine_type
플래그 및 자바 파이프라인에 대한--workerMachineType
을 사용하여 특정 VM 유형을 지정합니다.작업자 VM을 확인하거나 SSH를 사용하여 로그인합니다.
Java 파이프라인의
OrderedListState
클래스수직 자동 확장과 함께 VPC 서비스 제어를 사용합니다. Dataflow Prime을 사용 설정하고 VPC 서비스 제어 경계 내에서 새 작업을 시작하면 작업에 수직 자동 확장이 없는 Dataflow Prime이 사용됩니다.
다음 요구사항을 충족하는 Java 파이프라인은
MapState
및SetState
클래스를 사용할 수 있습니다.- Streaming Engine 사용
- Apache Beam SDK 버전 2.58.0 이상을 사용합니다.
- Runner v2를 사용하지 않음
이전에 명시적으로 언급되지 않았거나 기능 비교 표에 없는 모든 파이프라인 옵션은 Dataflow 및 Dataflow Prime에서 모두 동일하게 작동합니다.
Dataflow Prime을 사용하기 전에
Dataflow Prime을 사용하려면 기존 파이프라인 코드를 재사용하고 또한 Cloud Shell 또는 프로그래매틱 방식으로 Dataflow Prime 옵션을 사용 설정해야 합니다.
Dataflow Prime은 Dataflow Shuffle을 사용하는 일괄 작업 및 Streaming Engine을 사용하는 스트리밍 작업에 대해 하위 호환성을 지원합니다. 하지만 프로덕션 환경에서 이를 사용하기 전에 파이프라인을 Dataflow Prime에서 테스트하는 것이 좋습니다.
스트리밍 파이프라인이 프로덕션에서 실행되는 경우 Dataflow Prime을 사용하기 위해 다음 단계를 수행합니다.
파이프라인을 중지합니다.
Dataflow Prime을 사용 설정합니다.
파이프라인을 다시 실행합니다.
Dataflow Prime 사용 설정
파이프라인에 대해 Dataflow Prime을 사용 설정하려면 다음 안내를 따르세요.
Cloud Autoscaling API를 사용 설정합니다.
Dataflow Prime은 Cloud Autoscaling API를 사용하여 메모리를 동적으로 조정합니다.
파이프라인 옵션에서 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을 사용 설정하도록 선택할 수 있습니다.
템플릿에서 작업 만들기 페이지에서 시작된 작업의 경우:
템플릿에서 작업 만들기 페이지로 이동합니다.
추가 실험 필드에
enable_prime
을 입력합니다.
명령줄 인터페이스를 통해 템플릿에서 실행된 작업의 경우
--additional-experiments=enable_prime
플래그를 전달합니다.템플릿을 만들 때 Dataflow Prime을 사용 설정하려면
--experiments=enable_prime
플래그를 설정합니다.
Apache Beam 노트북에서 Dataflow Prime 사용
Apache Beam 노트북을 사용하는 경우 PipelineOptions
를 사용하여 프로그래매틱 방식으로 Dataflow Prime을 사용 설정할 수 있습니다.
options = pipeline_options.PipelineOptions(
flags=[],
dataflow_service_options=['enable_prime'],
)
노트북에서 Dataflow 옵션을 설정하는 방법에 대한 자세한 내용은 노트북에서 만든 파이프라인에서 Dataflow 작업 실행을 참조하세요.
Dataflow와 Dataflow Prime 기능 비교
다음 표에서는 두 가지 유형의 Dataflow에 사용 가능한 기능을 비교해서 보여줍니다.
기능 | Dataflow Prime | Dataflow |
---|---|---|
Runner v2 | 일괄 작업에 대해 해제 옵션이 없고 스트리밍 작업에 대해 선택적인 기본 기능 | 일괄 작업에 대해 해제 옵션이 있고 스트리밍 작업에 대해 선택적인 기본 기능 |
일괄 작업에 대한 Dataflow Shuffle | 해제 옵션이 있는 기본 기능 | 해제 옵션이 있는 기본 기능 |
스트리밍 작업에 대한 Streaming Engine | 자바 파이프라인에 대한 선택적인 기능 및 Python 파이프라인에 대한 상시 사용 설정 기능 | Java 파이프라인의 선택적 기능이며 2.45.0부터 Python 파이프라인에 상시 사용 설정됨 |
수평 자동 확장 | 해제 옵션이 있는 기본 기능 | 해제 옵션이 있는 기본 기능 |
수직 자동 확장 | 해제 옵션이 있는 기본 기능 | 해당 없음 |
적합 맞춤 | 선택적인 기능 | 선택적인 기능 |
결제 | 서버리스 결제 | 표준 결제 |
다음 단계
- Dataflow 할당량 알아보기
- 파이프라인 옵션 설정 방법 알아보기
- 자바 및 Python 파이프라인에 사용 가능한 파이프라인 옵션 보기
- Dataflow Prime에 대한 자동 실행 기능 자세히 알아보기
- Dataflow GPU 자세히 알아보기