GSP010
Übersicht
In diesem praxisorientierten Lab lernen Sie, wie mithilfe von verwaltetem Apache Spark eine rechenintensive Bildverarbeitungsaufgabe in einem Maschinencluster verteilt wird. Dieses Lab gehört zur Übungsreihe über die Verarbeitung wissenschaftlicher Daten.
Lerninhalte
- Einen verwalteten Apache Spark-Cluster mit vorinstalliertem Apache Spark erstellen
- Jobs erstellen und ausführen, bei Verwendung externer Pakete, die noch nicht im Cluster installiert sind
- Cluster beenden
Voraussetzungen
Dies ist ein Lab für Fortgeschrittene. Vorkenntnisse im Umgang mit verwaltetem Apache Spark und Apache Spark werden empfohlen, sind aber nicht erforderlich. Wenn Sie Ihr Wissen in diesen Bereichen auffrischen möchten, sollten Sie sich die folgenden Labs ansehen:
Wenn Sie bereit sind, scrollen Sie nach unten, um mehr über die Dienste zu erfahren, die Sie in diesem Lab verwenden.
Einrichtung und Anforderungen
Vor dem Klick auf „Start Lab“ (Lab starten)
Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange Google Cloud-Ressourcen für das Lab verfügbar sind.
In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.
Für dieses Lab benötigen Sie Folgendes:
- Einen Standardbrowser (empfohlen wird Chrome)
Hinweis: Nutzen Sie den privaten oder Inkognitomodus (empfohlen), um dieses Lab durchzuführen. So wird verhindert, dass es zu Konflikten zwischen Ihrem persönlichen Konto und dem Teilnehmerkonto kommt und zusätzliche Gebühren für Ihr persönliches Konto erhoben werden.
- Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
Hinweis: Verwenden Sie für dieses Lab nur das Teilnehmerkonto. Wenn Sie ein anderes Google Cloud-Konto verwenden, fallen dafür möglicherweise Kosten an.
Lab starten und bei der Google Cloud Console anmelden
-
Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Dialogfeld geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können.
Auf der rechten Seite befindet sich der Bereich Lab-Einrichtung und ‑Zugriff:
- Button Google Cloud Console öffnen
- Die temporären Anmeldedaten (Nutzername und Passwort), die Sie für dieses Lab verwenden müssen
- Gegebenenfalls weitere Informationen für dieses Lab
Der Lab-Timer befindet sich oben auf der Seite und zeigt die verbleibende Zeit an.
-
Klicken Sie auf Google Cloud Console öffnen. Wenn Sie Chrome verwenden, können Sie auch rechtsklicken und Link in Inkognitofenster öffnen auswählen.
Im Lab werden Ressourcen aktiviert. Anschließend wird ein weiterer Tab mit der Seite „Anmelden“ geöffnet.
Tipp: Ordnen Sie die Tabs nebeneinander in separaten Fenstern an.
Hinweis: Wird das Dialogfeld Konto auswählen angezeigt, klicken Sie auf Anderes Konto verwenden.
-
Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.
{{{user_0.username | "Username"}}}
Sie finden den Nutzernamen auch im Bereich Lab-Einrichtung und ‑Zugriff.
-
Klicken Sie auf Weiter.
-
Kopieren Sie das folgende Passwort und fügen Sie es in das Dialogfeld Willkommen ein.
{{{user_0.password | "Password"}}}
Sie finden das Passwort auch im Bereich Lab-Einrichtung und ‑Zugriff.
-
Klicken Sie auf Weiter.
Wichtig: Sie müssen die für das Lab bereitgestellten Anmeldedaten verwenden. Nutzen Sie nicht die Anmeldedaten Ihres Google Cloud-Kontos.
Hinweis: Wenn Sie Ihr eigenes Google Cloud-Konto für dieses Lab nutzen, können zusätzliche Kosten anfallen.
-
Klicken Sie sich durch die nachfolgenden Seiten:
- Akzeptieren Sie die Nutzungsbedingungen.
- Fügen Sie keine Wiederherstellungsoptionen oder 2-Faktor-Authentifizierung hinzu, da dies nur ein temporäres Konto ist.
- Melden Sie sich nicht für kostenlose Testversionen an.
Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.
Hinweis: Wenn Sie auf Google Cloud-Produkte und ‑Dienste zugreifen möchten, klicken Sie auf das Navigationsmenü oder geben Sie den Namen des Produkts oder Dienstes in das Feld Suchen ein.
Einführung
Verwaltetes Apache Spark ist ein verwalteter Spark- und Hadoop-Dienst, mit dem Sie Open-Source-Datentools für Batchverarbeitung, Abfragen, Streaming und maschinelles Lernen nutzen können. Mithilfe der Automatisierung von verwaltetem Apache Spark lassen sich Cluster schnell erstellen, einfach verwalten und Kosten senken, da Sie nicht benötigte Cluster deaktivieren können. Sie benötigen weniger Zeit und Geld für die Verwaltung und können sich auf Ihre Arbeit und Ihre Daten konzentrieren.
Ziehen Sie die horizontale Skalierung rechenintensiver Jobs mithilfe von verwaltetem Apache Spark in Betracht, wenn Folgendes zutrifft:
- Der Job ist embarrassingly parallel, d. h., verschiedene Teilmengen der Daten können auf verschiedenen Computern verarbeitet werden.
- Sie haben bereits Apache Spark-Code, der die Berechnungen durchführt oder Sie sind vertraut mit Apache Spark.
- Die Verteilung der Arbeit ist für alle Datenteilmengen ziemlich einheitlich.
Wenn verschiedene Teilmengen unterschiedlich hohen Verarbeitungsaufwand erfordern oder wenn Sie Apache Spark noch nicht kennen, ist Apache Beam in Cloud Dataflow eine überzeugende Alternative, weil Autoscaling-Datenpipelines zur Verfügung stehen.
In diesem Lab führen Sie einen Job aus, bei dem OpenCV-Bildverarbeitungsregeln berücksichtigt werden, um die Umrisse der Gesichter im Bild darzustellen. Die Vision API ist besser geeignet für diesen Zweck, weil derartige manuell codierte Regeln selten praktikabel sind, doch dieses Lab ist ein Beispiel für das verteilte Ausführen eines rechenintensiven Jobs.
Aufgabe 1: Entwicklungsmaschine in Compute Engine erstellen
Als Erstes erstellen Sie eine virtuelle Maschine zum Hosten der Dienste.
- Rufen Sie in der Cloud Console Compute Engine > VM-Instanzen > Instanz erstellen auf.

-
In der Maschinenkonfiguration:
Wählen Sie den folgenden Wert aus:
-
Name:
devhost
-
Reihe:
E2
-
Maschinentyp:
e2-standard-2 (2 vCPUs)
-
Klicken Sie auf Sicherheit.
- Wählen Sie im Bereich Zugriffsbereiche die Option Uneingeschränkten Zugriff auf alle Cloud APIs zulassen aus.
-
Klicken Sie auf Erstellen. Dies ist Ihr Entwicklungs-Bastion-Host.
Abgeschlossene Aufgabe testen
Klicken Sie auf Fortschritt prüfen.
Erstellen Sie eine Entwicklungsmaschine in Compute Engine.
- Klicken Sie in der Console auf den Button SSH, um eine SSH-Verbindung zur Instanz herzustellen.
Aufgabe 2: Software installieren
Jetzt richten Sie die Software ein, mit der Sie den den Job ausführen. Mithilfe des Open-Source-Build-Tools sbt erstellen Sie das JAR für den Job, den Sie an den verwalteten Apache Spark-Cluster senden. Dieses JAR enthält das Programm und die erforderlichen Pakete zum Ausführen des Jobs. Der Job erkennt Gesichter in einer Reihe von Bilddateien, die in einem Cloud Storage-Bucket gespeichert sind, und erstellt Bilddateien mit den Umrissen der Gesichter entweder im selben oder in einem anderen Cloud Storage-Bucket.
- Starten Sie Scala und sbt. Installieren Sie im SSH-Fenster
Scala und sbt mit den folgenden Befehlen, damit Sie den Code kompilieren können:
sudo apt-get install -y dirmngr unzip apt-transport-https bc scala
sudo apt-get update
sudo mkdir -p /etc/apt/keyrings
curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x99E82A75642AC823" | sudo gpg --dearmor -o /etc/apt/keyrings/scalasbt-archive-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/scalasbt-archive-keyring.gpg] https://repo.scala-sbt.org/scalasbt/debian all main" | sudo tee /etc/apt/sources.list.d/sbt.list
sudo apt-get update
sudo apt-get install -y sbt
Jetzt erstellen Sie die Dateien für die Gesichtserkennung. Der Code für dieses Lab ist eine leicht modifizierte Version einer Lösung, die im verwalteten Apache Spark-Repository auf GitHub verfügbar ist. Sie laden den Code herunter, wechseln dann mit cd in das Verzeichnis dieses Labs und erstellen ein „fat JAR“ der Gesichtserkennung, damit sie an das verwaltete Apache Spark gesendet werden kann.
- Führen Sie folgende Befehle im SSH-Fenster aus:
gcloud storage cp gs://spls/gsp124/cloud-dataproc.zip .
unzip cloud-dataproc.zip
cd cloud-dataproc/codelabs/opencv-haarcascade
echo "sbt.version=1.9.8" > project/build.properties
- Starten Sie „build“. Dieser Befehl erstellt ein „fat JAR“ der Gesichtserkennung, damit sie an das verwaltete Apache Spark gesendet werden kann:
sed -i 's/scalaVersion := "2.12.*/scalaVersion := "2.12.19"/' build.sbt
sbt assembly
Hinweis: Der Vorgang kann länger als fünf Minuten dauern.Abgeschlossene Aufgabe testen
Klicken Sie auf Fortschritt prüfen.
Installieren Sie die Software in der Entwicklungsmaschine.
Aufgabe 3: Cloud Storage-Bucket erstellen und Bilder erfassen
Nachdem Sie jetzt die Dateien für die Gesichtserkennung erstellt haben, erstellen Sie nun einen Cloud Storage-Bucket, dem Sie einige Beispielbilder hinzufügen.
- Rufen Sie die Projekt-ID ab, um den Bucket zu benennen.
GCP_PROJECT=$(gcloud config get-value core/project)
- Benennen Sie den Bucket und legen Sie eine Shell-Variable für den Bucket-Namen fest. Die Shell-Variable wird in Befehlen verwendet, um auf den Bucket zu verweisen:
MYBUCKET="${USER//google}-image-${RANDOM}"
echo MYBUCKET=${MYBUCKET}
- Erstellen Sie den Bucket für die Beispielbilder mithilfe des Programms
gsutil, das im Cloud SDK in gcloud enthalten ist:
gcloud storage buckets create gs://${MYBUCKET}
Abgeschlossene Aufgabe testen
Klicken Sie auf Fortschritt prüfen.
Erstellen Sie einen Cloud Storage-Bucket.
- Laden Sie einige Beispielbilder in den Bucket herunter:
curl https://www.publicdomainpictures.net/pictures/20000/velka/family-of-three-871290963799xUk.jpg | gcloud storage cp - gs://${MYBUCKET}/imgs/family-of-three.jpg
curl https://www.publicdomainpictures.net/pictures/10000/velka/african-woman-331287912508yqXc.jpg | gcloud storage cp - gs://${MYBUCKET}/imgs/african-woman.jpg
curl https://www.publicdomainpictures.net/pictures/10000/velka/296-1246658839vCW7.jpg | gcloud storage cp - gs://${MYBUCKET}/imgs/classroom.jpg
Sie haben soeben die folgenden Bilder in den Cloud Storage-Bucket heruntergeladen.



Abgeschlossene Aufgabe testen
Klicken Sie auf Fortschritt prüfen.
Laden Sie einige Beispielbilder in den Bucket herunter.
- Mit folgendem Befehl können Sie die Inhalte des Buckets aufrufen:
gcloud storage ls -R gs://${MYBUCKET}
Ausgabe:
gs://gcpstaging20392-student-image-23218/imgs/:
gs://gcpstaging20392-student-image-23218/imgs/african-woman.jpg
gs://gcpstaging20392-student-image-23218/imgs/classroom.jpg
gs://gcpstaging20392-student-image-23218/imgs/family-of-three.jpg
`
Aufgabe 4: Verwalteten Apache Spark-Cluster erstellen
- Führen Sie folgende Befehle im SSH-Fenster aus, um den Cluster zu benennen und die Variable
MYCLUSTER festzulegen. Diese Variable wird in Befehlen verwendet, um auf den Cluster zu verweisen:
MYCLUSTER="${USER/_/-}-qwiklab"
echo MYCLUSTER=${MYCLUSTER}
- Legen Sie eine globale Compute Engine-Region fest und erstellen Sie einen neuen Cluster:
gcloud config set dataproc/region {{{project_0.default_region | "REGION"}}}
gcloud dataproc clusters create ${MYCLUSTER} \
--bucket=${MYBUCKET} \
--worker-machine-type=e2-standard-2 \
--master-machine-type=e2-standard-2 \
--initialization-actions=gs://spls/gsp010/install-libgtk.sh \
--image-version=2.0 \
--worker-boot-disk-size=30GB \
--master-boot-disk-size=30GB
- Wenn Sie aufgefordert werden, eine Zone anstelle einer Region zu verwenden, geben Sie Y ein.
Es kann einige Minuten dauern, bis Sie Ergebnisse sehen. Die Standard-Cluster-Einstellungen mit zwei Worker-Knoten sollten für dieses Lab ausreichend sein. e2-standard-2 wurde sowohl als Worker- als auch als Master-Maschinentyp festgelegt, um die Gesamtzahl an Kernen, die vom Cluster verwendet werden, zu verringern.
Für das Flag initialization-actions übergeben Sie ein Script, das die Bibliothek libgtk2.0-dev auf jeder Ihrer Clustermaschinen installiert. Diese Bibliothek ist für die Ausführung des Codes erforderlich.
Hinweis:
Wenn die Clustererstellung fehlschlägt, löschen Sie den Cluster (gcloud dataproc clusters delete ${MYCLUSTER}) und versuchen Sie es noch einmal mit dem vorherigen Befehl zur Clustererstellung.
Abgeschlossene Aufgabe testen
Klicken Sie auf Fortschritt prüfen.
Erstellen Sie einen verwalteten Apache Spark-Cluster.
Hinweis: Weitere Informationen dazu, wie Sie mit Befehlszeilen-Flags Clustereinstellungen anpassen können, finden Sie in der Referenz zu „gcloud dataproc clusters create“ im Cloud SDK.
Aufgabe 5: Job an den verwalteten Apache Spark-Cluster senden
Das in diesem Lab ausgeführte Programm wird zur Gesichtserkennung verwendet, daher muss der eingegebene haar-Klassifikator ein Gesicht beschreiben. Ein haar-Klassifikator ist eine XML-Datei und wird zur Beschreibung von Merkmalen verwendet, die das Programm erkennen soll. Sie laden die haar-Klassifikatordatei herunter und fügen ihren Cloud Storage-Pfad im ersten Argument ein, wenn Sie den Job an den verwalteten Apache Spark-Cluster senden.
- Führen Sie folgenden Befehl im SSH-Fenster aus, um die Konfigurationsdatei zur Gesichtserkennung in den Bucket zu laden:
curl https://raw.githubusercontent.com/opencv/opencv/master/data/haarcascades/haarcascade_frontalface_default.xml | gcloud storage cp - gs://${MYBUCKET}/haarcascade_frontalface_default.xml
- Verwenden Sie die Reihe von Bildern, die Sie in das
imgs-Verzeichnis im Cloud Storage-Bucket hochgeladen haben, als Eingabe für die Gesichtserkennung. Sie müssen den Pfad zu diesem Verzeichnis als zweites Argument des Befehls zum Senden des Jobs einfügen.
- Senden Sie Ihren Job an das verwaltete Apache Spark:
cd ~/cloud-dataproc/codelabs/opencv-haarcascade
gcloud dataproc jobs submit spark \
--cluster ${MYCLUSTER} \
--jar target/scala-2.12/feature_detector-assembly-1.0.jar -- \
gs://${MYBUCKET}/haarcascade_frontalface_default.xml \
gs://${MYBUCKET}/imgs/ \
gs://${MYBUCKET}/out/
Sie können dem im zweiten Argument festgelegten Cloud Storage-Bucket beliebige weitere Bilder hinzufügen.
- Wählen Sie in der Cloud Platform Console Navigationsmenü > Alle Produkte ansehen aus, um den Job zu überwachen. Klicken Sie dann unter Analytics auf Verwaltetes Apache Spark > Jobs.
Wenn der Status „Erfolgreich“ angezeigt wird, können Sie mit den nächsten Schritten fortfahren.

Abgeschlossene Aufgabe testen
Klicken Sie auf Fortschritt prüfen.
Senden Sie einen Job an den verwalteten Apache Spark-Cluster.
-
Wenn der Job abgeschlossen ist, klicken Sie auf das Navigationsmenü > Cloud Storage. Suchen Sie den erstellten Bucket (Ihr Nutzername, gefolgt von student-image, gefolgt von einer zufälligen Zahl) und klicken Sie darauf.
-
Klicken Sie dann auf ein Bild im Out-Verzeichnis.
-
Klicken Sie auf das Downloadsymbol, um das Bild auf Ihren Computer herunterzuladen.
Wie genau ist die Gesichtserkennung? Die Vision API ist für diesen Zweck besser geeignet, da derartige manuell codierte Regeln selten praktikabel sind. Sie können sich als Nächstes ansehen, wie das funktioniert.
-
(Optional) Rufen Sie im Bucket den Ordner imgs auf und klicken Sie auf die anderen Bilder, die Sie in Ihren Bucket hochgeladen haben. Dadurch werden die drei Beispielbilder heruntergeladen. Speichern Sie diese auf Ihrem Computer.
-
Klicken Sie auf diesen Link, um zur Vision API-Seite zu gelangen, scrollen Sie nach unten zum Bereich API testen und laden Sie die Bilder hoch, die Sie aus dem Bucket heruntergeladen haben. Die Ergebnisse der Bilderkennung werden binnen Sekunden angezeigt. Die zugrunde liegenden Modelle für maschinelles Lernen werden laufend verbessert, sodass Sie möglicherweise nicht dieselben Ergebnisse erhalten:

- (Optional) Wenn Sie versuchen möchten, die Gesichtserkennung zu verbessern, können Sie den Code
FeatureDetector bearbeiten und dann sbt assembly und die Befehle gcloud dataproc und jobs submit noch einmal ausführen.
Aufgabe 6: Wissen testen
Im Folgenden stellen wir Ihnen einige Multiple-Choice-Fragen, um Ihr bisher erworbenes Wissen zu testen und zu festigen. Beantworten Sie die Fragen, so gut Sie können.
Das wars! Sie haben das Lab erfolgreich abgeschlossen.
Sie haben gelernt, wie ein verwalteter Apache Spark-Cluster hochgefahren wird und wie Jobs ausgeführt werden.
Google Cloud-Schulungen und -Zertifizierungen
In unseren Schulungen erfahren Sie alles zum optimalen Einsatz unserer Google Cloud-Technologien und können sich entsprechend zertifizieren lassen. Unsere Kurse vermitteln technische Fähigkeiten und Best Practices, damit Sie möglichst schnell mit Google Cloud loslegen und Ihr Wissen fortlaufend erweitern können. Wir bieten On-Demand-, Präsenz- und virtuelle Schulungen für Anfänger wie Fortgeschrittene an, die Sie individuell in Ihrem eigenen Zeitplan absolvieren können. Mit unseren Zertifizierungen weisen Sie nach, dass Sie Experte im Bereich Google Cloud-Technologien sind.
Anleitung zuletzt am 6. Juli 2026 aktualisiert
Lab zuletzt am 6. Juli 2026 getestet
© 2026 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.