Dataproc의 JupyterLab 노트북에서 유전체학 분석 실행

이 튜토리얼에서는 Dataproc에서 구성할 수 있는 Dask, NVIDIA RAPIDS, GPU를 사용하여 단일 셀 게놈 분석을 실행하는 방법을 보여줍니다. 독립형 스케줄러 또는 리소스 관리용 YARN을 사용하여 Dask를 실행하도록 Dataproc을 구성할 수 있습니다.

이 튜토리얼에서는 호스팅된 JupyterLab 인스턴스로 Dataproc을 구성하여 단일 셀 게놈 분석 기능을 갖춘 노트북을 실행합니다. Dataproc에서 Jupyter 노트북을 사용하면 Dataproc이 사용 설정하는 워크로드 확장과 Jupyter의 대화형 기능을 결합할 수 있습니다. Dataproc을 사용하면 하나의 머신에서 여러 머신으로 워크로드를 확장할 수 있으며, 필요한 수의 GPU로 구성 가능합니다.

이 튜토리얼은 데이터 과학자와 연구원을 대상으로 합니다. 이 튜토리얼은 Python을 사용해 본 경험이 있고 다음과 같은 기본 지식이 있다고 가정합니다.

개발 환경 준비

  1. 리소스 위치를 선택합니다.

    REGION=REGION
    

  2. Cloud Storage 버킷을 만듭니다.

    gcloud storage buckets create gs://BUCKET --location=REGION
    

  3. 다음 초기화 작업을 버킷에 복사합니다.

    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 클러스터 만들기

  1. 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 노트북에 액세스

  1. Dataproc Google Cloud 콘솔에서 클러스터 페이지를 엽니다.
    클러스터 페이지 열기
  2. 클러스터를 클릭하고 웹 인터페이스 탭을 클릭합니다.
  3. JupyterLab을 클릭합니다.
  4. JupyterLab에서 새 터미널을 엽니다.
  5. 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
    

  6. JupyterLab에서 rapids-single-cell-examples/notebooks 저장소로 이동하여 1M_brain_gpu_analysis_uvm.ipynb Jupyter 노트북을 엽니다.

  7. 노트북의 모든 출력을 지우려면 편집 > 모든 출력 지우기를 선택합니다.

  8. 노트북의 셀에 있는 안내를 읽습니다. 이 노트북은 Dataproc에서 Dask 및 RAPIDS를 사용하여 데이터 처리 및 시각화를 포함한 1백만 개의 셀에 대한 단일 셀 RNA-seq 워크플로를 안내합니다. 자세한 내용은 RAPIDS를 사용하여 단일 셀 게놈 분석 가속화를 참조하세요.