이 튜토리얼에서는 Dataproc에서 구성할 수 있는 Dask, NVIDIA RAPIDS, GPU를 사용하여 단일 셀 게놈 분석을 실행하는 방법을 보여줍니다. 독립형 스케줄러 또는 리소스 관리용 YARN을 사용하여 Dask를 실행하도록 Dataproc을 구성할 수 있습니다.
이 가이드에서는 호스팅된 JupyterLab 인스턴스로 Dataproc을 구성하여 단일 셀 게놈 분석 기능을 갖춘 노트북을 실행합니다. Dataproc에서 Jupyter 노트북을 사용하면 Dataproc이 사용 설정하는 워크로드 확장과 Jupyter의 대화형 기능을 결합할 수 있습니다. Dataproc을 사용하면 하나의 머신에서 여러 머신으로 워크로드를 확장할 수 있으며, 필요한 수의 GPU로 구성 가능합니다.
이 튜토리얼은 데이터 과학자와 연구원을 대상으로 합니다. 이 튜토리얼은 Python을 사용해 본 경험이 있고 다음과 같은 기본 지식이 있다고 가정합니다.
목표
- GPU, JupyterLab, 오픈소스 구성요소로 구성된 Dataproc 인스턴스를 만듭니다.
- Dataproc에서 노트북을 실행합니다.
비용
이 문서에서는 비용이 청구될 수 있는 다음과 같은 Google Cloud 구성요소를 사용합니다.
프로젝트 사용량을 기준으로 예상 비용을 산출하려면 가격 계산기를 사용하세요.
이 문서에 설명된 태스크를 완료했으면 만든 리소스를 삭제하여 청구가 계속되는 것을 방지할 수 있습니다. 자세한 내용은 삭제를 참조하세요.
시작하기 전에
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Dataproc API.
개발 환경 준비
리소스 위치를 선택합니다.
REGION=REGION
Cloud Storage 버킷을 만듭니다.
gcloud storage buckets create gs://BUCKET --location=REGION
다음 초기화 작업을 버킷에 복사합니다.
SCRIPT_BUCKET=gs://goog-dataproc-initialization-actions-REGION gcloud storage cp ${SCRIPT_BUCKET}/gpu/install_gpu_driver.sh BUCKET/gpu/install_gpu_driver.sh gcloud storage cp ${SCRIPT_BUCKET}/dask/dask.sh BUCKET/dask/dask.sh gcloud storage cp ${SCRIPT_BUCKET}/rapids/rapids.sh BUCKET/rapids/rapids.sh gcloud storage cp ${SCRIPT_BUCKET}/python/pip-install.sh BUCKET/python/pip-install.sh
JupyterLab 및 오픈소스 구성요소를 사용하여 Dataproc 클러스터 만들기
- Dataproc 클러스터를 만듭니다.
gcloud dataproc clusters create CLUSTER_NAME \ --region REGION \ --image-version 2.0-ubuntu18 \ --master-machine-type n1-standard-32 \ --master-accelerator type=nvidia-tesla-t4,count=4 \ --initialization-actions BUCKET/gpu/install_gpu_driver.sh,BUCKET/dask/dask.sh,BUCKET/rapids/rapids.sh,BUCKET/python/pip-install.sh \ --initialization-action-timeout=60m \ --metadata gpu-driver-provider=NVIDIA,dask-runtime=yarn,rapids-runtime=DASK,rapids-version=21.06,PIP_PACKAGES="scanpy==1.8.1,wget" \ --optional-components JUPYTER \ --enable-component-gateway \ --single-node
클러스터에는 다음과 같은 속성이 있습니다.
--region
: 클러스터가 있는 리전입니다.--image-version
:2.0-ubuntu18
, 클러스터 이미지 버전--master-machine-type
:n1-standard-32
, 기본 머신 유형--master-accelerator
: 기본 노드의 GPU 유형 및 개수, 4개의nvidia-tesla-t4
GPU--initialization-actions
: GPU 드라이버, Dask, RAPIDS, 추가 종속 항목을 설치하는 설치 스크립트의 Cloud Storage 경로입니다.--initialization-action-timeout
: 초기화 작업의 제한 시간입니다.--metadata
: NVIDIA GPU 드라이버, Dask용 독립형 스케줄러, RAPIDS 버전21.06
으로 클러스터를 구성하기 위해 초기화 작업에 전달됩니다.--optional-components
: Jupyter 선택적 구성요소로 클러스터를 구성합니다.--enable-component-gateway
: 클러스터의 웹 UI에 대한 액세스를 허용합니다.--single-node
: 클러스터를 단일 노드로 구성합니다(작업자 없음).
Jupyter 노트북에 액세스
- Google Cloud 콘솔에서 클러스터 페이지를 엽니다.
클러스터 페이지 열기 - 클러스터를 클릭하고 웹 인터페이스 탭을 클릭합니다.
- JupyterLab을 클릭합니다.
- JupyterLab에서 새 터미널을 엽니다.
clara-parabricks/rapids-single-cell-examples
저장소를 클론하고dataproc/multi-gpu
브랜치를 확인합니다.git clone https://github.com/clara-parabricks/rapids-single-cell-examples.git git checkout dataproc/multi-gpu
JupyterLab에서 rapids-single-cell-examples/notebooks 저장소로 이동하여 1M_brain_gpu_analysis_uvm.ipynb Jupyter Notebook을 엽니다.
노트북의 모든 출력을 지우려면 편집 > 모든 출력 지우기를 선택합니다.
노트북의 셀에 있는 안내를 읽습니다. 이 노트북은 Dataproc에서 Dask 및 RAPIDS를 사용하여 데이터 처리 및 시각화를 포함한 1백만 개의 셀에 대한 단일 셀 RNA-seq 워크플로를 안내합니다. 자세한 내용은 RAPIDS를 사용하여 단일 셀 게놈 분석 가속화를 참조하세요.
삭제
이 튜토리얼에서 사용된 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 리소스가 포함된 프로젝트를 삭제하거나 프로젝트를 유지하고 개별 리소스를 삭제하세요.
프로젝트 삭제
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
개별 리소스 삭제
- Dataproc 클러스터를 삭제합니다.
gcloud dataproc clusters delete cluster-name \ --region=region
-
버킷을 삭제합니다.
gcloud storage buckets delete BUCKET_NAME
다음 단계
- Dataproc 자세히 알아보기
- 참조 아키텍처, 다이어그램, 가이드, 권장사항 살펴보기 Cloud 아키텍처 센터 살펴보기