Menjalankan analisis genomik di notebook JupyterLab

Tutorial ini menunjukkan cara menjalankan analisis genomik sel tunggal menggunakan Dask, NVIDIA RAPIDS, dan GPU, yang dapat Anda konfigurasi di Managed Service for Apache Spark. Anda dapat mengonfigurasi Managed Service untuk Apache Spark agar menjalankan Dask dengan penjadwal mandirinya atau dengan YARN untuk pengelolaan resource.

Tutorial ini mengonfigurasi Managed Service untuk Apache Spark dengan instance JupyterLab yang dihosting untuk menjalankan notebook yang menampilkan analisis genomik sel tunggal. Dengan menggunakan Notebook Jupyter di Managed Service for Apache Spark, Anda dapat menggabungkan kemampuan interaktif Jupyter dengan penskalaan beban kerja yang diaktifkan oleh Managed Service for Apache Spark. Dengan Managed Service for Apache Spark, Anda dapat menskalakan workload dari satu ke banyak mesin, yang dapat Anda konfigurasi dengan GPU sebanyak yang Anda butuhkan.

Tutorial ini ditujukan untuk data scientist dan peneliti. Panduan ini mengasumsikan bahwa Anda sudah berpengalaman menggunakan Python dan memiliki pengetahuan dasar tentang hal berikut:

Tujuan

  • Buat instance Managed Service for Apache Spark yang dikonfigurasi dengan GPU, JupyterLab, dan komponen open source.
  • Jalankan notebook di Managed Service for Apache Spark.

Biaya

Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih berikut:

  • Managed Service for Apache Spark
  • Cloud Storage
  • GPUs
  • Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga.

    Pengguna Google Cloud baru mungkin memenuhi syarat untuk mendapatkan uji coba gratis.

    Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, baca bagian Pembersihan.

    Sebelum memulai

    1. Di konsol Google Cloud , pada halaman pemilih project, pilih atau buat project Google Cloud .

      Peran yang diperlukan untuk memilih atau membuat project

      • Pilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project mana pun yang telah diberi peran.
      • Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project (roles/resourcemanager.projectCreator), yang berisi izin resourcemanager.projects.create. Pelajari cara memberikan peran.

      Buka pemilih project

    2. Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.

    3. Mengaktifkan Dataproc API.

      Peran yang diperlukan untuk mengaktifkan API

      Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

      Mengaktifkan API

    Menyiapkan lingkungan Anda

    1. Pilih lokasi untuk resource Anda.

      REGION=REGION
      

    2. Membuat bucket Cloud Storage.

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

    3. Salin tindakan inisialisasi berikut ke bucket Anda.

      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
      

    Buat cluster Managed Service for Apache Spark dengan JupyterLab dan komponen open source

    1. Buat cluster Managed Service for Apache Spark.
    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
    

    Cluster memiliki properti berikut:

    • --region: region tempat cluster Anda berada.
    • --image-version: 2.0-ubuntu18, versi image cluster
    • --master-machine-type: n1-standard-32, jenis mesin utama.
    • --master-accelerator: jenis dan jumlah GPU di node utama, empat GPU nvidia-tesla-t4.
    • --initialization-actions: jalur Cloud Storage ke skrip penginstalan yang menginstal driver GPU, Dask, RAPIDS, dan dependensi tambahan.
    • --initialization-action-timeout: waktu tunggu untuk tindakan inisialisasi.
    • --metadata: diteruskan ke tindakan inisialisasi untuk mengonfigurasi cluster dengan driver GPU NVIDIA, penjadwal mandiri untuk Dask, dan RAPIDS versi 21.06.
    • --optional-components: mengonfigurasi cluster dengan komponen opsional Jupyter.
    • --enable-component-gateway: memungkinkan akses ke UI web di cluster.
    • --single-node: mengonfigurasi cluster sebagai satu node (tanpa pekerja).

    Mengakses Notebook Jupyter

    1. Buka halaman Clusters di konsol Managed Service for Apache Spark Google Cloud .
      Buka halaman Cluster
    2. Klik cluster Anda, lalu klik tab Web Interfaces.
    3. Klik JupyterLab.
    4. Buka terminal baru di JupyterLab.
    5. Buat clone clara-parabricks/rapids-single-cell-examples repositori dan periksa cabang dataproc/multi-gpu.

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

    6. Di JupyterLab, buka repositori rapids-single-cell-examples/notebooks dan buka Notebook Jupyter 1M_brain_gpu_analysis_uvm.ipynb.

    7. Untuk menghapus semua output di notebook, pilih Edit > Clear All Outputs

    8. Baca petunjuk di sel notebook. Notebook ini menggunakan Dask dan RAPIDS di Managed Service for Apache Spark untuk memandu Anda melalui alur kerja RNA-seq sel tunggal pada 1 juta sel, termasuk pemrosesan dan visualisasi data. Untuk mempelajari lebih lanjut, lihat Mempercepat Analisis Genomik Sel Tunggal menggunakan RAPIDS.

    Pembersihan

    Agar tidak perlu membayar biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.

    Menghapus project

    1. Di Konsol Google Cloud , buka halaman Manage resources.

      Buka Kelola resource

    2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
    3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.

    Menghapus resource satu per satu

    1. Hapus cluster Managed Service for Apache Spark Anda.
      gcloud dataproc clusters delete cluster-name \
          --region=region
      
    2. Hapus bucket:
      gcloud storage buckets delete BUCKET_NAME

    Langkah berikutnya