Executar uma análise genômica em um notebook do JupyterLab no Dataproc

Neste tutorial, mostramos como executar uma análise genômica de célula única usando Dask, NVIDIA RAPIDS e GPUs, que podem ser configuradas no Dataproc. É possível configurar o Dataproc para executar o Dask com o programador autônomo ou com o YARN para gerenciamento de recursos.

Neste tutorial, o Dataproc é configurado com uma instância hospedada do JupyterLab para executar um notebook com análise genômica de célula única. O uso de um notebook do Jupyter no Dataproc permite combinar os recursos interativos do Jupyter com o escalonamento de carga de trabalho permitido pelo Dataproc. Com o Dataproc, é possível escalonar suas cargas de trabalho de uma para várias máquinas, que você pode configurar com quantas GPUs precisar.

Este tutorial é destinado a cientistas e pesquisadores de dados. Ele pressupõe que você tenha experiência com Python e tenha conhecimento básico dos seguintes tópicos:

Preparar o ambiente

  1. Selecione um local para seus recursos.

    REGION=REGION
    

  2. Criar um bucket do Cloud Storage.

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

  3. Copie as seguintes ações de inicialização para o bucket.

    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
    

Criar um cluster do Dataproc com o JupyterLab e componentes de código aberto

  1. Crie um cluster do 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

O cluster tem as seguintes propriedades:

  • --region: a região em que o cluster está localizado.
  • --image-version: 2.0-ubuntu18, a versão de imagem do cluster.
  • --master-machine-type: n1-standard-32, o tipo de máquina principal.
  • --master-accelerator: o tipo e a contagem de GPUs no nó principal, quatro GPUs nvidia-tesla-t4.
  • --initialization-actions: os caminhos do Cloud Storage para os scripts de instalação que instalam drivers de GPU, Dask, RAPIDS e dependências extras.
  • --initialization-action-timeout: o tempo limite das ações de inicialização.
  • --metadata: transmitido para as ações de inicialização para configurar o cluster com drivers de GPU NVIDIA, o programador autônomo do Dask e a versão RAPIDS 21.06.
  • --optional-components: configura o cluster com o componente opcional Jupyter.
  • --enable-component-gateway: permite o acesso a IUs da Web no cluster.
  • --single-node: configura o cluster como um único nó (sem workers).

Acessar o Jupyter Notebook

  1. Abra a página Clusters no console do Dataproc Google Cloud .
    Abrir a página "Clusters"
  2. Clique no cluster e na guia Interfaces da Web.
  3. Clique em JupyterLab.
  4. Abra um novo terminal no JupyterLab.
  5. Clone o repositório clara-parabricks/rapids-single-cell-examples e confira a ramificação dataproc/multi-gpu.

    git clone https://github.com/clara-parabricks/rapids-single-cell-examples.git
    git checkout dataproc/multi-gpu
    

  6. No JupyterLab, acesse o repositório rapids-single-cell-examples/notebooks e abra o notebook do Jupyter 1M_brain_gpu_analysis_uvm.ipynb.

  7. Para limpar todas as saídas no notebook, selecione Editar > Limpar todas as saídas.

  8. Leia as instruções nas células do notebook. O notebook usa oDask e RAPIDS no Dataproc para orientar você em um fluxo de trabalho de RNA-seq de célula única em 1 milhão de células, incluindo o processamento e a visualização de dados. Para saber mais, consulte Aceleração da análise genômica de célula única usando RAPIDS.