In diesem Dokument erfahren Sie, wie Sie interaktive Sitzungen und Laufzeitprofile für Managed Service for Apache Spark erstellen, die in der Google Cloud CLI und der Dataproc API als Sitzungsvorlagen bezeichnet werden. Ein Laufzeitprofil ist ein wiederverwendbarer Satz von serverlosen Spark-Laufzeiteinstellungen, z. B. die Rechenstufe und die Executor-Konfiguration, mit denen Sie interaktive Notebooks und Sitzungen erstellen können.
Interaktive Sitzung erstellen
Sie können die Google Cloud CLI oder die Managed Service for Apache Spark API verwenden, um eine interaktive Sitzung für Managed Service for Apache Spark zu erstellen.
gcloud
Mit dem Befehl gcloud beta dataproc sessions create spark SESSION_ID können Sie eine interaktive Managed Service for Apache Spark-Sitzung erstellen:
gcloud beta dataproc sessions create spark SESSION_ID \ --location=REGION \ optional flags ...
Ersetzen oder fügen Sie Folgendes hinzu:
SESSION_ID: Erforderlich. Eine ID für die Sitzung.REGION: Erforderlich. Eine verfügbare Compute Engine-Region, in der sich Ihre Sitzung befindet.--version: Optional. Eine unterstützte Spark-Laufzeitversion. Wenn Sie keine Version angeben, wird die Standard-Spark-Laufzeitversion verwendet.--container-image: Optional. Ein benutzerdefiniertes Container-Image, das für Ihre Sitzung verwendet werden soll.--property: Optional. Eine oder mehrere kommagetrennte Spark-Attribute für Ihre Sitzung.--service-account: Optional. Das Dienstkonto, das für Ihre Sitzung verwendet werden soll. Wenn nicht angegeben, wird das Compute Engine-Standarddienstkonto verwendet.--subnet: Optional. Der Name eines Subnetzes in der Sitzungsregion. Wenn keine Angabe erfolgt, verwendet Managed Service for Apache Spark das Subnetzdefaultin der Sitzungsregion. Managed Service for Apache Spark aktiviert den privaten Google-Zugriff (PGA) im Subnetz. Informationen zu den Anforderungen an die Netzwerkverbindung finden Sie unter Netzwerkkonfiguration für Managed Service for Apache Spark.
REST
Sie können die Managed Service for Apache Spark API-Methode sessions.create verwenden, um eine interaktive Managed Service for Apache Spark-Sitzung zu erstellen.
Konfigurieren Sie die folgenden Anfragefelder:
name: Erforderlich. Der Name der Sitzung.version: Optional. Eine der unterstützten Spark-Laufzeitversionen für Ihre Sitzung. Wenn Sie keine Version angeben, wird die Standardversion verwendet.containerImage: Optional. Ein benutzerdefiniertes Container-Image, das für Ihre Sitzung verwendet werden soll.properties: Optional. Eine Zuordnung von Sitzungsattributnamen zu Werten. Weitere Informationen zu unterstützten Attributen finden Sie unter Spark-Attribute.serviceAccount: Optional. Das Dienstkonto, das zum Ausführen Ihrer Sitzung verwendet werden soll. Wenn nicht angegeben, wird das Compute Engine-Standarddienstkonto verwendet.subnetworkUri: Optional. Der Name eines Subnetzes in der Sitzungsregion. Wenn keine Angabe erfolgt, verwendet Managed Service for Apache Spark das Subnetzdefaultin der Sitzungsregion. Managed Service for Apache Spark aktiviert den privaten Google-Zugriff (PGA) im Subnetz. Informationen zu den Anforderungen an die Netzwerkverbindung finden Sie unter Netzwerkkonfiguration für Managed Service for Apache Spark.
Laufzeitprofil erstellen
Ein Laufzeitprofil für Managed Service for Apache Spark (manchmal auch als Sitzungsvorlage bezeichnet) definiert wiederverwendbare Konfigurationseinstellungen zum Erstellen interaktiver Sitzungen für Managed Service for Apache Spark. Sie können die Google Cloud Console, die gcloud CLI oder die Managed Service for Apache Spark API verwenden, um ein Laufzeitprofil zu erstellen. In der gcloud CLI und der Dataproc API werden Laufzeitprofile als session templates bezeichnet.
Console
So erstellen Sie ein Managed Service for Apache Spark-Laufzeitprofil mit derGoogle Cloud Console:
Rufen Sie in der Google Cloud Console die Seite Laufzeitprofile auf.
Klicken Sie auf Erstellen.
Konfigurieren Sie auf der Seite Laufzeitprofil erstellen die folgenden primären Einstellungen:
Anzeigename: erforderlich. Geben Sie einen Anzeigenamen für das Laufzeitprofil ein oder übernehmen Sie den vorausgefüllten generierten Namen. Der Anzeigename muss mindestens einen Buchstaben oder eine Ziffer enthalten und wird als Anzeigename auf oberster Ebene für alle Sitzungstypen gespeichert, einschließlich Spark Connect. Der Name des Laufzeitprofils ist die Ressourcen-ID und wird automatisch aus dem Anzeigenamen abgeleitet. Dazu werden Buchstaben in Kleinbuchstaben und ungültige Zeichen in Bindestriche umgewandelt. Dies wird als Hinweis unter dem Feld angezeigt. Wenn Sie die Ressourcen-ID unabhängig vom Anzeigenamen anpassen möchten, maximieren Sie Zusätzliche Konfiguration und bearbeiten Sie Laufzeitkonfiguration.
Region: erforderlich. Wählen Sie eine verfügbare Compute Engine-Region für Sitzungen aus, die dieses Laufzeitprofil verwenden. Die Standardregion ist
us-east4(früherus-central1) und in der Liste werden Regionsbeschreibungen angezeigt.Beschreibung: optional. Geben Sie eine Beschreibung ein, um das Laufzeitprofil zu identifizieren.
Stufe: Wählen Sie die Managed Service for Apache Spark-Stufe für die Ausführung der Arbeitslast aus:
Premium: Standard. Optimiert komplexe oder latenzempfindliche Abfragen mit Beschleunigungs-Engines und unterstützt Executor-Formen mit großem Arbeitsspeicher und GPU-Beschleunigung. Wenn Premium ausgewählt ist, wird das Kästchen Lightning Engine aktivieren, um die Leistung zu beschleunigen angezeigt und standardmäßig ausgewählt, um Spark-Jobs mit der Lightning Engine zu beschleunigen. Dadurch wird
spark.dataproc.engine=lightningEnginefestgelegt.Standard: Bietet eine Standard-Spark-Ausführungsumgebung für die routinemäßige Datenverarbeitung. Interaktive Sitzungen werden immer in der Premium-Stufe ausgeführt. Die Auswahl von Standard wirkt sich nur auf die Batchausführung aus. Wenn Sie Standard auswählen, wird die Lightning Engine deaktiviert, die Maschinentypen werden auf Standard-CPU-Typen (
standard-4,standard-8oderstandard-16) beschränkt und es sindHDD (standard)-Laufwerke erforderlich. Wenn Sie von Premium zu Standard wechseln, werden Formen mit großem Arbeitsspeicher oder GPU-Formen aufstandard-4und SSD-Laufwerke auf eine200 GiB-HDD zurückgesetzt.
Executor-Konfiguration: Wählen Sie den Modus für die Computing-Größe und die Maschinenform für die Spark-Executors und den Spark-Treiber aus, die Ihre Arbeitslast ausführen:
Allgemein: Standard. Bietet reine CPU-Maschinenformen, die für allgemeine ETL-Arbeitslasten (Extrahieren, Transformieren und Laden) geeignet sind. Wählen Sie in der Liste Executor-Typ einen Typ mit großem Speicher aus, z. B.
highmem-4(Standard) mit 4 vCPUs und 32 GB Arbeitsspeicher,highmem-8mit 8 vCPUs und 64 GB Arbeitsspeicher oderhighmem-16mit 16 vCPUs und 128 GB Arbeitsspeicher. Alternativ können Sie einen Standardtyp auswählen, z. B.standard-4mit 4 vCPUs und 16 GB Arbeitsspeicher,standard-8mit 8 vCPUs und 32 GB Arbeitsspeicher oderstandard-16mit 16 vCPUs und 64 GB Arbeitsspeicher. High Memory-Formen sind nur in der Premium-Stufe verfügbar.Beschleunigt: Bietet GPU-verbundene Maschinenformen, die für Data Science- und KI- oder ML-Trainings- und Inferenzarbeitslasten geeignet sind. Wenn Sie eine beschleunigte Form auswählen, wird die Stufe automatisch auf Premium und die Laufwerksstufe auf SSD (Premium) mit einer Standardgröße von
375 GiBumgestellt. Wählen Sie in der Liste Executor-Typ eine L4-Form mit 4, 8, 12, 16, 24, 48 oder 96 vCPUs oder eine A100-Form wieA100 40GB (12 vCPU)oderA100 80GB (12 vCPU)aus.
Optional: Wenn Sie erweiterte Einstellungen für Laufzeit, Computing, Autoscaling, Metastore, Netzwerk, Sicherheit, Lebenszyklus oder Attribute anpassen möchten, klicken Sie auf Zusätzliche Konfiguration, um den Bereich zu maximieren. Klicken Sie neben einer Kategorie, die Sie anpassen möchten, auf Bearbeiten, konfigurieren Sie die Einstellungen im Bereich und klicken Sie dann auf Speichern:
Laufzeitkonfiguration: Konfigurieren Sie die Laufzeit-ID, die Spark-Version, das Container-Image, den Staging-Bucket und das Python-Paket-Repository:
Name des Laufzeitprofils: erforderlich. Übernehmen Sie die generierte Ressourcen-ID, die vom Anzeigenamen abgeleitet wurde, oder geben Sie eine benutzerdefinierte ID ein. Die ID muss zwischen 4 und 63 Zeichen lang sein, darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten, muss mit einem Kleinbuchstaben oder einer Ziffer beginnen und enden und kann nach dem Erstellen des Laufzeitprofils nicht mehr geändert werden.
Spark-Laufzeitversion: erforderlich. Wählen Sie eine unterstützte Managed Service for Apache Spark-Laufzeitversion aus.
Benutzerdefiniertes Spark-Image: optional. Geben Sie den Artifact Registry- oder Container Registry-URI eines benutzerdefinierten Container-Images ein, das benutzerdefinierte Java- oder Python-Abhängigkeiten enthält.
Staging-Bucket: optional. Klicken Sie auf Durchsuchen, um einen Cloud Storage-Staging-Bucket zum Speichern von Arbeitslastabhängigkeiten, Job-Treiberausgaben und Konfigurationsdateien auszuwählen oder zu erstellen. Wenn Sie das Feld leer lassen, verwaltet Managed Service for Apache Spark den Staging-Bucket automatisch (in der Zusammenfassung durch
Autogekennzeichnet).Python-Paket-Repository: optional. Geben Sie den URI eines benutzerdefinierten Repositorys wie
https://pypi.org/simpleein, um Python-Pakete zu installieren. Wenn Sie das Feld leer lassen, werden Pakete aus dem von Google verwalteten PyPI-Pull-Through-Cache (Standardzusammenfassung) installiert.
Executor- und Treiberkonfiguration: Passen Sie die Rechenstufe, die Laufwerksstufe, die Laufwerksgröße und die separate Treiberkonfiguration an:
Stufe: Wählen Sie Premium aus, einschließlich des optionalen Kästchens Lightning Engine aktivieren, um die Leistung zu beschleunigen, oder Standard.
Executor-Typ: Wählen Sie eine allgemeine
High memory- oderStandard-Maschinenform oder eine beschleunigteL4- oderA100-Maschinenform aus.Laufwerksstufe: Wählen Sie
HDD (standard)oderSSD (premium)aus.HDD (standard)ist die Standardeinstellung für CPU-Formen und auf der Standardstufe erforderlich.SSD (premium)ist in der Premium-Stufe für Arbeitslasten mit vielen Shuffle- oder Spill-Vorgängen verfügbar und für beschleunigte GPU-Formen erforderlich.Laufwerkgröße: Wählen Sie eine Laufwerkgröße in GiB aus.
HDD (standard)unterstützt200 GiBbis1500 GiBin Schritten von 100 GiB, wobei der Standardwert200 GiBist.SSD (premium)unterstützt375 GiB,750 GiBoder1500 GiB. Der Standardwert ist375 GiB.Andere Konfiguration für Treiber verwenden: optional. Standardmäßig verwendet der Treiber dieselbe Maschinenform und Laufwerkskonfiguration wie der Executor. Wählen Sie dieses Kästchen aus, um den Maschinentyp, die Laufwerksstufe und die Laufwerksgröße des Treibers unabhängig voneinander anzupassen.
Autoscaling: Konfigurieren Sie die dynamische Ressourcenzuweisung, um Executors basierend auf der Arbeitslast zu skalieren:
Aktiviert: Standardmäßig ausgewählt, wodurch
spark.dynamicAllocation.enabledfestgelegt wird. Entfernen Sie das Häkchen aus diesem Kästchen, um das Autoscaling zu deaktivieren.Anfängliche Executors: Geben Sie die anfängliche Anzahl von Executors ein, wodurch
spark.dynamicAllocation.initialExecutorsfestgelegt wird. Der Standardwert ist5. Gültige Werte reichen von2bis2000für Laufzeitversionen2.3und früher oder von0bis2000für Laufzeitversion3.0und höher.Mindestanzahl von Executors: Geben Sie die Mindestanzahl von Executors ein, wodurch
spark.dynamicAllocation.minExecutorsfestgelegt wird. Der Standardwert ist2für Laufzeitversionen2.3und früher oder0für Laufzeitversion3.0und höher, mit einer Obergrenze von2000.Maximale Anzahl von Executors: Geben Sie die maximale Anzahl von Executors ein, wodurch
spark.dynamicAllocation.maxExecutorsfestgelegt wird. Der Standardwert ist1000, der maximal zulässige Wert2000.
Metastore-Konfiguration: Wählen Sie den Metastore aus, der Ihre Dataset-Metadaten verwaltet:
Lakehouse-Laufzeitkatalog: Standard. Verwendet einen serverlosen Lakehouse-Laufzeitkatalog im aktuellen Projekt, wobei der Iceberg-REST-Endpunkt standardmäßig aktiviert ist. Sie können die Projekt-ID angeben und entweder eine vorhandene Katalog-ID auswählen oder einen neuen Katalog definieren. Sie können auch das Kästchen Hive-Endpunkt anklicken, um eine Projekt-ID, eine Katalog-ID und einen Katalognamen für den Hive-Endpunkt anzugeben.
Dataproc Metastore: Hängt eine verwaltete Dataproc Metastore-Hive Metastore-Instanz (HMS) an. Wählen Sie das Projekt unter Ausgewähltes Projekt und eine Dienstinstanz in der Liste Metastore-Dienst aus.
Keine: Deaktiviert die Metastore-Integration für Sitzungen, die dieses Laufzeitprofil verwenden.
Netzwerk und Sicherheit: Konfigurieren Sie VPC-Netzwerke, Ausführungsanmeldedaten und Verschlüsselungsschlüssel:
Cluster verbinden: Unter Netzwerkkonfiguration wählt die Google Cloud Console automatisch ein geeignetes Netzwerk oder Subnetzwerk in der ausgewählten Region aus. Wenn in der ausgewählten Region kein Standardnetzwerk verfügbar ist, wird automatisch Zusätzliche Konfiguration geöffnet und eine Warnung angezeigt, dass das Standardnetzwerk nicht verfügbar ist. In diesem Fall bleibt die Schaltfläche Erstellen deaktiviert, bis Sie auf Netzwerk konfigurieren klicken und ein verfügbares Subnetzwerk auswählen. Sie können Netzwerke in diesem Projekt auswählen, um ein primäres Netzwerk und ein Subnetzwerk im aktuellen Projekt auszuwählen, oder Vom Hostprojekt freigegebene Netzwerke auswählen, um ein gemeinsam genutztes VPC-Subnetzwerk auszuwählen. Für das ausgewählte Subnetzwerk muss der private Google-Zugriff (PGA) aktiviert sein. Informationen zu den Anforderungen an die Netzwerkverbindung finden Sie unter Offene Subnetzverbindung. Sie können auch optionale Netzwerk-Tags eingeben, um Firewallregeln und Routen auf Arbeitslast-VMs anzuwenden.
Notebooks ausführen mit: Wählen Sie Nutzerkonto (Standardeinstellung) aus, um Notebooks mit den Anmeldedaten des Endnutzers auszuführen, oder wählen Sie Dienstkonto aus, um Sitzungen mit einem benutzerdefinierten Dienstkonto auszuführen. Wenn Dienstkonto ausgewählt ist, muss im Feld Dienstkonto ein Dienstkonto angegeben werden.
Verschlüsselung: Wählen Sie Google-owned and Google-managed encryption key (Standardeinstellung) oder Cloud KMS-Schlüssel aus, um Arbeitslastdaten mit einem kundenverwalteten Verschlüsselungsschlüssel (CMEK) zu verschlüsseln.
Sitzungslebenszyklus: Konfigurieren Sie Limits für die automatische Beendigung von Sitzungen:
Maximale Inaktivitätszeit: optional. Geben Sie eine Maximale Inaktivitätszeit ein und wählen Sie eine Einheit für die maximale Inaktivitätszeit in
seconds,minutes,hoursoderdaysaus, von 10 Minuten bis 330 Stunden, um anzugeben, wie lange eine Notebook-Sitzung inaktiv bleiben kann, bevor sie automatisch beendet wird.Maximale Sitzungsdauer: optional. Geben Sie eine Menge für die maximale Sitzungsdauer ein und wählen Sie eine Einheit für die maximale Sitzungsdauer in
seconds,minutes,hoursoderdaysaus, von 10 Minuten bis 330 Stunden, um die maximale Lebensdauer einer Sitzung anzugeben.
Weitere Anpassungen: Fügen Sie benutzerdefinierte Spark-Attribute und Ressourcenlabels hinzu:
Spark-Attribute: Optional. Klicken Sie auf Attribut hinzufügen und geben Sie Schlüssel- und Wert-Paare für benutzerdefinierte Spark-Attribute ein. Attribute, die über dedizierte Felder im Formular gesteuert werden (z. B. Rechenstufe, Executor- und Treibergröße, Lightning Engine,
spark.dynamicAllocation.*und Lakehouse-Katalogattribute), werden über diese Felder verwaltet und sind in der Liste im freien Format ausgeblendet. Geben Sie in der Google Cloud Konsole nicht das Präfixspark:an.Labels: Optional. Klicken Sie auf Label hinzufügen und geben Sie Paare aus Schlüssel und Wert ein, um dem Laufzeitprofil Labels hinzuzufügen.
Sehen Sie sich die Konfigurationsdetails auf der Karte Zusammenfassung und die geschätzte Nutzung von Datenrecheneinheiten (Data Compute Units, DCUs) auf der Karte Preisschätzung auf der rechten Seite an. Weitere Informationen zu DCU-Gebühren finden Sie unter Preise für Managed Service for Apache Spark.
Klicken Sie auf Erstellen.
gcloud
In der gcloud CLI werden Laufzeitprofile als Sitzungsvorlagen verwaltet.
Sie können ein Managed Service for Apache Spark-Laufzeitprofil nicht direkt mit einem create-Befehl in der gcloud CLI erstellen. Sie können jedoch den Befehl gcloud beta dataproc session-templates import verwenden, um ein Laufzeitprofil aus einer YAML-Konfigurationsdatei zu erstellen oder zu aktualisieren.
Sie können ein vorhandenes Laufzeitprofil auch mit dem Befehl gcloud beta dataproc session-templates export exportieren.
REST
In der Managed Service for Apache Spark API werden Laufzeitprofile durch SessionTemplate-Ressourcen dargestellt. Sie können die Managed Service for Apache Spark-API-Methode sessionTemplates.create verwenden, um ein Managed Service for Apache Spark-Laufzeitprofil zu erstellen. Konfigurieren Sie die folgenden Anfragefelder:
name: Erforderlich. Der Ressourcenname des Laufzeitprofils.version: Optional. Eine der unterstützten Spark-Laufzeitversionen für Ihre Sitzungen. Wenn Sie keine Version angeben, wird die Standardversion verwendet.sessionConfig: Geben Sie entwederjupyterSessionodersparkConnectSessionan. Wenn SiejupyterSessionangeben, müssen Sie auch die FelderJupyterConfig.displayNameundJupyterConfig.kernelangeben. Weitere Informationen zu Jupyter-Notebook-Sitzungen finden Sie unter Jupyter-Notebook in Managed Service for Apache Spark starten.containerImage: Optional. Ein benutzerdefiniertes Container-Image, das für Ihre Sitzungen verwendet werden soll.properties: Optional. Eine Zuordnung von Spark-Attributnamen zu Werten, einschließlich Attributen für Stufe, Engine, Maschinenform, Laufwerk und Autoscaling. Weitere Informationen zu unterstützten Attributen finden Sie unter Spark-Attribute.serviceAccount: Optional. Ein Dienstkonto, das zum Ausführen Ihrer Sitzungen verwendet werden soll. Wenn nicht angegeben, wird das Compute Engine-Standarddienstkonto verwendet.subnetworkUri: Optional. Der Name eines Subnetzes in der Sitzungsregion. Wenn keine Angabe erfolgt, verwendet Managed Service for Apache Spark das Subnetzdefaultin der Sitzungsregion. Managed Service for Apache Spark aktiviert den privaten Google-Zugriff (PGA) im Subnetz. Informationen zu den Anforderungen an die Netzwerkverbindung finden Sie unter Netzwerkkonfiguration für Managed Service for Apache Spark.