Häufig gestellte Fragen zu Managed Service for Apache Spark Serverless

Mit Managed Service for Apache Spark Serverless können Sie Spark-Batcharbeitslasten und interaktive Sitzungen auf einer vollständig verwalteten Infrastruktur ausführen. Die folgenden Fragen und Antworten decken gängige Themen zu Bereitstellung, Konfiguration und Betrieb ab. Sofern nicht anders angegeben, gelten diese Informationen nur für serverlose Bereitstellungen, nicht für Clusterbereitstellungen.

Wann sollte ich die serverlose Bereitstellung von Managed Service for Apache Spark anstelle der Clusterbereitstellung von Managed Service for Apache Spark verwenden?

  • Serverlose Bereitstellung von Managed Service for Apache Spark:

    • Unterstützt Spark-Batcharbeitslasten und interaktive Sitzungen in Jupyter-Notebooks mit PySpark-Kernel.
    • Erstellt und verwaltet Ihre Arbeitslast- und interaktive Sitzungsinfrastruktur.
  • Managed Service for Apache Spark-Clusterbereitstellung:

    • Unterstützt das Senden verschiedener Arten von Spark-Jobs und Jobs, die auf anderen Open-Source-Komponenten wie Flink, Hadoop, Hive, Pig, Presto und anderen basieren.

    • Erstellt und verwaltet keine Infrastruktur. Sie erstellen und verwalten Ihre Managed Service for Apache Spark-Cluster.

Was kann ich mit der serverlosen Bereitstellung von Managed Service for Apache Spark tun?

Wie richte ich einen Ausführungsplan für Arbeitslasten ein?

Sie können Arbeitslasten gleichzeitig oder nacheinander ausführen. Ihr Ausführungsplan wirkt sich auf Ihr Ressourcenkontingent für Google Cloud aus. Sie können so viele Arbeitslasten parallel ausführen, wie Ihre Batch-Ressourcenkontingente zulassen.

Kann ich ein benutzerdefiniertes Image mit der serverlosen Bereitstellung von Managed Service for Apache Spark verwenden?

Kann ich Arbeitsspeicher- und Laufwerksressourcen für Managed Service for Apache Spark-Arbeitslasten angeben?

Ja. Sie können Premium-Executor- und -Treiber-Computing- und -Laufwerksstufen sowie die Menge der zuzuweisenden Treiber- und Executor-Computing- und -Laufwerksressourcen angeben, wenn Sie eine Arbeitslast einreichen (siehe Ressourcenzuweisungsattribute).

Wie kann ich den IP-Adressbereich für mein Managed Service for Apache Spark-VPC-Netzwerk angeben?

Managed Service for Apache Spark-Arbeitslasten werden in Ihrer Umgebung ausgeführt. Jeder Spark-Treiber und Spark-Executor in einer serverlosen Spark-Arbeitslast verbraucht eine interne IP-Adresse in Ihrem VPC-Netzwerk für Managed Service for Apache Spark. /16 ist ein typischer vom Nutzer angegebener CIDR-Adressbereich für ein VPC-Netzwerk für Managed Service for Apache Spark. Sie können den IP-Adressbereich Ihres Netzwerks basierend auf der Anzahl der gleichzeitigen Arbeitslasten begrenzen, die Sie ausführen möchten.

Unterstützt Managed Service for Apache Spark die Datenstandortverwaltung?

Ja. Sie geben die Region an, in der Ihre Arbeitslast verarbeitet wird. Suchen Sie in der angegebenen Region nach Ihren Eingabe- und Ausgabe-Datasets.

Wie wählt Managed Service for Apache Spark eine Zone in der angegebenen Region aus, um die Arbeitslast auszuführen?

Managed Service for Apache Spark wählt die Compute Engine-Zone, in der eine Arbeitslast ausgeführt wird, basierend auf Kapazität und Verfügbarkeit aus. Wenn eine Zone nach dem Start einer Arbeitslast nicht mehr verfügbar ist, schlägt die Arbeitslast fehl und Sie müssen sie noch einmal senden.

Wie werden Rechenressourcen von Managed Service for Apache Spark-Arbeitslasten verwendet?

Jede Arbeitslast wird auf ihren eigenen Rechenressourcen ausgeführt. Bei mehreren Batch-Einreichungen werden keine Rechenressourcen gemeinsam genutzt oder wiederverwendet.

Best Practices:

  • Optimieren Sie Ihre Arbeitslast für Jobs mit mittlerer Laufzeit, nicht für Jobs mit kurzer Laufzeit.

  • Daten, auf die von mehreren Arbeitslasten zugegriffen wird, in Cloud Storage speichern.

Wo finde ich Informationen zu Ankündigungen, Funktionen, Fehlerkorrekturen, bekannten Problemen und Einstellungen im Zusammenhang mit Managed Service for Apache Spark?

Versionshinweise zu Managed Service for Apache Spark

Konkurrieren gleichzeitige Arbeitslasten um Ressourcen?

Arbeitslasten von Managed Service for Apache Spark konkurrieren nur dann um Ressourcen, wenn Ihr Ressourcenkontingent nicht ausreicht, um alle gleichzeitig ausgeführten Arbeitslasten auszuführen. Andernfalls sind Arbeitslasten vollständig voneinander isoliert.

Wie wird das Kontingent für Managed Service for Apache Spark zugewiesen?

Managed Service for Apache Spark-Batches verbrauchen Google Cloud -Ressourcen. Weitere Informationen finden Sie unter Dataproc Serverless-Kontingente.

Muss ich einen persistenten Verlaufsserver für Managed Service for Apache Spark einrichten?

Das Einrichten eines Persistent History Server (PHS) für die Verwendung mit Managed Service for Apache Spark ist optional.Sie können den PHS verwenden, um Spark-Ereignisse und andere Logs in einem angegebenen Cloud Storage-Bucket bis zu und nach der standardmäßigen 90-tägigen Aufbewahrungsdauer (TTL) des Managed Service for Apache Spark-Staging- und temporären Buckets anzusehen.

Welche Logs für Managed Service for Apache Spark sind verfügbar?

Spark-Executor- und Treiberlogs sind während und nach der Ausführung der Spark-Arbeitslast in Cloud Logging verfügbar. Außerdem sind Spark-Anwendungen in der Weboberfläche des Persistent History Server (PHS) sichtbar, während die Arbeitslast ausgeführt wird. Wählen Sie dazu in der PHS-Benutzeroberfläche PHS > Unvollständige Anwendungen aus.

Wenn Sie einen Managed Service for Apache Spark-PHS einrichten, bietet er dauerhaften Zugriff auf Spark-Ereignisprotokolle, die in Cloud Storage gespeichert sind. Diese Protokolle enthalten Informationen zur Ausführung von Spark-Anwendungen, z. B. DAG- und Executor-Ereignisse.

Kann ich die Anzahl der Executors für meine Spark-Arbeitslast festlegen?

Ja. Sie können die Anzahl der Executors für eine Spark-Arbeitslast mit dem Attribut spark.executor.instances festlegen. Die Gesamtzahl der Kerne, die eine Arbeitslast verwenden kann, ist jedoch wichtiger als die Anzahl der Executors, da Spark eine Aufgabe pro Kern ausführt. Wenn eine Arbeitslast beispielsweise vier Executors mit jeweils zwei Kernen hat, werden 4 * 2 = 8 Aufgaben gleichzeitig ausgeführt. Außerdem wird die gleiche Anzahl von Aufgaben für eine Arbeitslast ausgeführt, die zwei Executors mit jeweils vier Kernen hat. Da die Anzahl der Kerne für jede Arbeitslast gleich ist, wird die gleiche Anzahl von Aufgaben ausgeführt. Mit dem Attribut spark.executor.cores können Sie die Anzahl der Kerne pro Executor für Ihre Managed Service for Apache Spark-Arbeitslast festlegen.

Welche Spark-Messwerte verwendet Managed Service for Apache Spark für das Autoscaling?

Managed Service for Apache Spark prüft die Spark-Messwerte für die dynamische Zuordnung maximum-needed und running, um zu entscheiden, ob hoch- oder herunterskaliert werden soll. Weitere Informationen finden Sie unter Autoscaling für Managed Service for Apache Spark.

Kann ich das Autoscaling-Verhalten von Managed Service for Apache Spark mit Spark-Properties konfigurieren?

Ja. Das Autoscaling von Managed Service for Apache Spark basiert auf der dynamischen Zuordnung von Spark und ist standardmäßig aktiviert. Sie können die folgenden Spark-Attribute und Attribute für die dynamische Spark-Zuweisung anpassen:

  • spark.executor.instances
  • spark.dynamicAllocation.initialExecutors
  • spark.dynamicAllocation.minExecutors
  • spark.dynamicAllocation.maxExecutors

Warum muss ich meinen Code in einer JAR-Datei verpacken, um meine Spark-Arbeitslast einzureichen?

Spark ist in Scala geschrieben. Das bedeutet, dass sowohl der Treiber- als auch der Worker-Prozess als JVM-Prozesse ausgeführt werden. In JVM-Sprachen ist die JAR-Datei die primäre Methode zum Verpacken von Code. Sie übergeben die JAR-Datei an Managed Service for Apache Spark, wenn Sie eine Arbeitslast senden.