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


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

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

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

목표

  • GPU, JupyterLab, 오픈소스 구성요소로 구성된 Dataproc 인스턴스를 만듭니다.
  • Dataproc에서 노트북을 실행합니다.

비용

이 문서에서는 비용이 청구될 수 있는 다음과 같은 Google Cloud 구성요소를 사용합니다.

  • Dataproc
  • Cloud Storage
  • GPU
  • 프로젝트 사용량을 기준으로 예상 비용을 산출하려면 가격 계산기를 사용하세요. Google Cloud를 처음 사용하는 사용자는 무료 체험판을 사용할 수 있습니다.

    이 문서에 설명된 태스크를 완료했으면 만든 리소스를 삭제하여 청구가 계속되는 것을 방지할 수 있습니다. 자세한 내용은 삭제를 참조하세요.

    시작하기 전에

    1. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

      프로젝트 선택기로 이동

    2. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

    3. Dataproc API 사용 설정

      API 사용 설정

    개발 환경 준비하기

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

      REGION=REGION
      

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

      gsutil mb BUCKET -l REGION
      

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

      SCRIPT_BUCKET=gs://goog-dataproc-initialization-actions-REGION
      gsutil cp ${SCRIPT_BUCKET}/gpu/install_gpu_driver.sh BUCKET/gpu/install_gpu_driver.sh
      gsutil cp ${SCRIPT_BUCKET}/dask/dask.sh BUCKET/dask/dask.sh
      gsutil cp ${SCRIPT_BUCKET}/rapids/rapids.sh BUCKET/rapids/rapids.sh
      gsutil 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. 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 Notebook을 엽니다.

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

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

    삭제

    이 튜토리얼에서 사용된 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 리소스가 포함된 프로젝트를 삭제하거나 프로젝트를 유지하고 개별 리소스를 삭제하세요.

    프로젝트 삭제

    1. Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.

      리소스 관리로 이동

    2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
    3. 대화상자에서 프로젝트 ID를 입력한 후 종료를 클릭하여 프로젝트를 삭제합니다.

    개별 리소스 삭제

    1. Dataproc 클러스터를 삭제합니다.
      gcloud dataproc clusters delete cluster-name \
          --region=region
      
    2. 버킷을 삭제합니다.
      gcloud storage buckets delete BUCKET_NAME

    다음 단계