Dataproc을 최대한 활용하려면 기본 구성요소를 이해하는 것이 좋습니다. 이 가이드에서는 Dataproc 핵심 개념과 기능, 이러한 기능이 제공하는 이점을 설명합니다.
클러스터 기반 모델
이는 인프라 중심의 Dataproc 사용 방식입니다. 데이터 처리 작업을 위한 전용 가상 머신 세트를 완벽하게 제어할 수 있습니다.
- 클러스터: 클러스터는 Google Cloud 가상 머신으로 구성된 개인 데이터 처리 엔진입니다. Apache Spark 및 Apache Hadoop과 같은 오픈소스 프레임워크를 실행하기 위해 클러스터를 만듭니다. 클러스터 크기, 머신 유형, 구성을 완벽하게 제어할 수 있습니다.
- 작업: 작업은 PySpark 스크립트 또는 Hadoop 쿼리와 같은 특정 작업입니다. 클러스터에서 직접 작업을 실행하는 대신 Dataproc 서비스에 작업을 제출하면 Dataproc 서비스에서 작업 실행을 관리합니다. 클러스터에 여러 작업을 제출할 수 있습니다.
- 워크플로 템플릿: 워크플로 템플릿은 일련의 작업을 오케스트레이션하는 재사용 가능한 정의입니다 (워크플로). 예를 들어 데이터 정리 작업이 성공적으로 완료된 후에만 머신러닝 작업을 실행하도록 작업 간 종속 항목을 정의할 수 있습니다. 템플릿 워크플로는 기존 클러스터 또는 워크플로를 실행하기 위해 생성된 후 워크플로가 완료되면 삭제되는 임시 클러스터에서 실행할 수 있습니다. 필요할 때마다 템플릿을 사용하여 정의된 워크플로를 실행할 수 있습니다.
- 자동 확장 정책: 자동 확장 정책에는 클러스터 비용과 성능을 동적으로 최적화하기 위해 클러스터 워크로드에 따라 클러스터에서 작업자 머신을 추가하거나 삭제하도록 정의하는 규칙이 포함됩니다.
서버리스 모델
Apache Spark용 서버리스는 최신 자동 실행 Dataproc 모델입니다. 기본 인프라를 프로비저닝, 관리 또는 확장하지 않고도 작업을 실행할 수 있습니다. Apache Spark용 서버리스가 세부사항을 처리합니다.
- 배치: 배치 (배치 워크로드라고도 함)는 서버리스 Dataproc 작업과 동일합니다. Spark 작업과 같은 코드를 서비스에 제출합니다. Apache Spark용 서버리스는 필요에 따라 필요한 리소스를 프로비저닝하고 작업을 실행한 후 리소스를 해체합니다. 클러스터 또는 작업 리소스를 만들거나 관리하지 않아도 됩니다. 서비스에서 대신 작업을 수행합니다.
- 대화형 세션: 대화형 세션은 일반적으로 Jupyter 노트북 내에서 탐색적 데이터 분석을 위한 라이브 주문형 환경을 제공합니다. 대화형 세션은 클러스터 및 노트북 리소스를 프로비저닝하고 관리하지 않고도 쿼리를 실행하고 코드를 개발하는 데 사용할 수 있는 임시 서버리스 작업공간의 편리함을 제공합니다.
- 세션 템플릿: 세션 템플릿은 대화형 세션을 정의하는 데 사용할 수 있는 재사용 가능한 구성입니다. 템플릿에는 Spark 속성 및 라이브러리 종속 항목과 같은 세션 설정이 포함되어 있습니다. 이 템플릿을 사용하여 일반적으로 Jupyter 노트북 내에서 개발을 위한 대화형 세션 환경을 만듭니다.
Metastore 서비스
Dataproc은 데이터에 관한 데이터인 메타데이터를 처리하기 위한 관리형 서비스를 제공합니다.
- Metastore: metastore는 테이블 및 열 이름, 데이터 유형과 같은 데이터 스키마의 중앙 카탈로그 역할을 합니다. metastore를 사용하면 다양한 서비스, 클러스터, 작업이 데이터의 구조를 이해할 수 있습니다. 일반적으로 카탈로그는 Cloud Storage에 저장됩니다.
- 제휴: 메타데이터 제휴는 단일 통합 메타스토어에 액세스하는 것처럼 여러 메타스토어의 데이터에 액세스하고 쿼리할 수 있는 고급 기능입니다.
노트북 및 개발 환경
Dataproc 노트북과 IDE는 코드를 작성하고 실행할 수 있는 통합 개발 환경에 연결됩니다.
- BigQuery Studio 및 Workbench: 통합 분석 및 노트북 환경입니다. 이를 통해 코드를 작성하고 (예: Jupyter 노트북에서) Dataproc 클러스터 또는 서버리스 세션을 대규모 데이터 세트에서 코드를 실행하는 강력한 백엔드 엔진으로 사용할 수 있습니다.
- Dataproc JupyterLab 플러그인: 이 공식 JupyterLab 확장 프로그램은 노트북 환경 내에서 Dataproc의 제어판 역할을 합니다. Jupyter 인터페이스를 종료하지 않고도 클러스터를 탐색, 생성, 관리하고 작업을 제출할 수 있으므로 워크플로가 간소화됩니다. 자세히 알아보기
- Dataproc Spark Connect Python 커넥터: 이 Python 라이브러리는 Dataproc에서 Spark Connect를 사용하는 프로세스를 간소화합니다. 인증 및 엔드포인트 구성을 처리하므로 노트북이나 IDE와 같은 로컬 Python 환경을 대화형 개발을 위해 원격 Dataproc 클러스터에 훨씬 간단하게 연결할 수 있습니다. 자세히 알아보기
환경 맞춤설정
Dataproc은 특정 요구사항에 맞게 환경을 맞춤설정할 수 있는 도구와 구성요소를 제공합니다. Google Cloud 콘솔의 유틸리티 섹션에는 Dataproc 환경을 맞춤설정하는 데 유용한 도구가 포함되어 있습니다.