Tutorial ini menunjukkan cara menjalankan analisis genomik sel tunggal menggunakan Dask, NVIDIA RAPIDS, dan GPU, yang dapat Anda konfigurasi di Dataproc. Anda dapat mengonfigurasi Dataproc untuk menjalankan Dask dengan penjadwal mandirinya atau dengan YARN untuk pengelolaan resource.
Tutorial ini mengonfigurasi Dataproc dengan instance JupyterLab yang dihosting untuk menjalankan notebook yang menampilkan analisis genomik sel tunggal. Dengan menggunakan Notebook Jupyter di Dataproc, Anda dapat menggabungkan kemampuan interaktif Jupyter dengan penskalaan beban kerja yang diaktifkan Dataproc. Dengan Dataproc, 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. Tutorial ini mengasumsikan bahwa Anda sudah berpengalaman menggunakan Python dan memiliki pengetahuan dasar tentang hal berikut:
Tujuan
- Buat instance Dataproc yang dikonfigurasi dengan GPU, JupyterLab, dan komponen open source.
- Jalankan notebook di Dataproc.
Biaya
Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih berikut:
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Pembersihan.
Sebelum memulai
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Dataproc API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Menyiapkan lingkungan Anda
Pilih lokasi untuk resource Anda.
REGION=REGION
Membuat bucket Cloud Storage.
gcloud storage buckets create gs://BUCKET --location=REGION
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
Membuat cluster Dataproc dengan JupyterLab dan komponen open source
- Buat cluster 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
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 GPUnvidia-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 versi21.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
- Buka halaman Clusters di konsol Dataproc Google Cloud .
Buka halaman Cluster - Klik cluster Anda, lalu klik tab Antarmuka Web.
- Klik JupyterLab.
- Buka terminal baru di JupyterLab.
Buat clone
clara-parabricks/rapids-single-cell-examplesrepositori dan periksa cabangdataproc/multi-gpu.git clone https://github.com/clara-parabricks/rapids-single-cell-examples.git git checkout dataproc/multi-gpu
Di JupyterLab, buka repositori rapids-single-cell-examples/notebooks dan buka Notebook Jupyter 1M_brain_gpu_analysis_uvm.ipynb.
Untuk menghapus semua output di notebook, pilih Edit > Clear All Outputs
Baca petunjuk di sel notebook. Notebook ini menggunakan Dask dan RAPIDS di Dataproc untuk memandu Anda melalui alur kerja RNA-seq sel tunggal pada 1 juta sel, termasuk memproses dan memvisualisasikan 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
- 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.
Menghapus resource satu per satu
- Hapus cluster Dataproc Anda.
gcloud dataproc clusters delete cluster-name \ --region=region
-
Hapus bucket:
gcloud storage buckets delete BUCKET_NAME
Langkah berikutnya
- Temukan lebih banyak tentang Dataproc.
- Pelajari arsitektur referensi, diagram, tutorial, dan praktik terbaik. Lihat Cloud Architecture Center kami.