In dieser Anleitung erfahren Sie, wie Sie eine Einzelzellengenomikanalyse mit Dask, NVIDIA CUDA-X und GPUs ausführen, die Sie in Managed Service for Apache Spark konfigurieren können. Sie können Managed Service for Apache Spark so konfigurieren, dass Dask entweder mit dem eigenständigen Planer oder mit YARN für die Ressourcenverwaltung ausgeführt wird.
In dieser Anleitung wird Managed Service for Apache Spark mit einer gehosteten JupyterLab-Instanz konfiguriert, um ein Notebook mit einer Einzelzell-Genomikanalyse auszuführen. Mit einem Jupyter-Notebook in Managed Service for Apache Spark können Sie die interaktiven Funktionen von Jupyter mit der Arbeitslastskalierung von Managed Service for Apache Spark kombinieren. Mit Managed Service for Apache Spark können Sie Ihre Arbeitslasten von einer auf viele Maschinen horizontal skalieren, die Sie mit so vielen GPUs konfigurieren können, wie Sie benötigen.
Diese Anleitung richtet sich an Data Scientists und Forscher. Dabei wird davon ausgegangen, dass Sie mit Python vertraut sind und Grundkenntnisse zu folgenden Themen haben:
Ziele
- Erstellen Sie eine Managed Service for Apache Spark-Instanz, die mit GPUs, JupyterLab und Open-Source-Komponenten konfiguriert ist.
- Notebook in Managed Service for Apache Spark ausführen
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Cloud de Confiance by S3NS:
Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.
Hinweis
-
Wählen Sie in der Cloud de Confiance Console auf der Seite für die Projektauswahl ein Projekt von Cloud de Confiance aus oder erstellen Sie eines.
Erforderliche Rollen zum Auswählen oder Erstellen eines Projekts
- Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Project Creator“ (
roles/resourcemanager.projectCreator), die die Berechtigungresourcemanager.projects.createenthält. Informationen zum Zuweisen von Rollen
-
Prüfen Sie, ob die Abrechnung für Ihr Cloud de Confiance -Projekt aktiviert ist.
-
Aktivieren Sie die Dataproc API, falls sie noch nicht aktiviert ist.
Erforderliche Rollen zum Aktivieren von APIs
Zum Aktivieren von APIs benötigen Sie die Berechtigung
serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen
Umgebung vorbereiten
Wählen Sie einen Standort für Ihre Ressourcen aus.
REGION=REGION
Cloud Storage-Bucket erstellen
gcloud storage buckets create gs://BUCKET --location=REGION
Kopieren Sie die folgenden Initialisierungsaktionen in Ihren 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
Managed Service for Apache Spark-Cluster mit JupyterLab und Open-Source-Komponenten erstellen
- Erstellen Sie einen Managed Service for Apache Spark-Cluster.
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
Der Cluster hat die folgenden Attribute:
--region: Die Region, in der sich der Cluster befindet.--image-version:2.0-ubuntu18, die Cluster-Image-Version.--master-machine-type:n1-standard-32, der Hauptmaschinentyp.--master-accelerator: Der Typ und die Anzahl der GPUs auf dem Hauptknoten, viernvidia-tesla-t4-GPUs.--initialization-actions: die Cloud Storage-Pfade zu den Installationsskripts, mit denen GPU-Treiber, Dask, CUDA-X und zusätzliche Abhängigkeiten installiert werden.--initialization-action-timeout: Das Zeitlimit für die Initialisierungsaktionen.--metadata: Wird an die Initialisierungsaktionen übergeben, um den Cluster mit NVIDIA-GPU-Treibern, dem eigenständigen Planer für Dask und der CUDA-X-Version21.06zu konfigurieren.--optional-components: Konfiguriert den Cluster mit der optionalen Jupyter-Komponente.--enable-component-gateway: Ermöglicht den Zugriff auf Web-UIs im Cluster.--single-node: Konfiguriert den Cluster als einzelnen Knoten (keine Worker).
Auf Jupyter-Notebook zugreifen
- Öffnen Sie in der Managed Service for Apache Spark Cloud de Confiance -Konsole die Seite Cluster.
Zur Seite „Cluster“ - Klicken Sie auf den Cluster und dann auf den Tab Weboberflächen.
- Klicken Sie auf JupyterLab.
- Öffnen Sie in JupyterLab ein neues Terminal.
Klonen Sie das Repository
clara-parabricks/rapids-single-cell-examplesund checken Sie den Zweigmanaged-spark/multi-gpuaus.git clone https://github.com/clara-parabricks/rapids-single-cell-examples.git git checkout managed-spark/multi-gpu
Wechseln Sie in JupyterLab zum Repository rapids-single-cell-examples/notebooks und öffnen Sie das Jupyter-Notebook 1M_brain_gpu_analysis_uvm.ipynb.
Wählen Sie Bearbeiten > Alle Ausgaben löschen aus, um alle Ausgaben im Notebook zu löschen.
Lesen Sie die Anleitung in den Zellen des Notebooks. Das Notebook verwendet Dask und CUDA-X in Managed Service for Apache Spark, um Sie durch einen Single-Cell-RNA-Seq-Workflow mit 1 Million Zellen zu führen, einschließlich der Verarbeitung und Visualisierung der Daten. Weitere Informationen finden Sie unter Accelerating Single Cell Genomic Analysis using CUDA-X.
Bereinigen
Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.
Projekt löschen
- Wechseln Sie in der Cloud de Confiance -Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.
Einzelne Ressourcen löschen
- Managed Service for Apache Spark-Cluster löschen
gcloud dataproc clusters delete cluster-name \ --region=region
-
Löschen Sie den Bucket:
gcloud storage buckets delete BUCKET_NAME
Nächste Schritte
- Weitere Informationen zu Managed Service for Apache Spark.
- Referenzarchitekturen, Diagramme, Anleitungen und Best Practices entdecken Weitere Informationen zu Cloud Architecture Center