Häufig gestellte Fragen zur serverlosen Bereitstellung von Managed Service for Apache Spark

Auf dieser Seite finden Sie Antworten auf häufig gestellte Fragen zur serverlosen Bereitstellung von Managed Service for Apache Spark. Sofern nicht anders angegeben, gelten diese Informationen nur für serverlose Bereitstellungen von Managed Service for Apache Spark und 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 PySpark-Kernel-Jupyter-Notebooks.
    • Erstellt und verwaltet die Infrastruktur für Ihre Arbeitslast und interaktive Sitzung.
  • Clusterbereitstellung von Managed Service for Apache Spark:

    • Unterstützt das Senden verschiedener Arten von Spark-Jobs und Jobs, die auf anderen Open-Source-Komponenten wie Flink, Hadoop, Hive, Pig und Presto 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 Plan für die Ausführung von Arbeitslasten ein?

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

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

Kann ich Speicher- und Festplattenressourcen für Managed Service for Apache Spark-Spark-Arbeitslasten angeben?

Ja. Sie können Premium-Executor- und -Treiber-Compute- und Festplattenstufen sowie die Menge an Compute- und Festplattenressourcen für Treiber und Executor angeben, die beim Senden einer Arbeitslast zugewiesen werden sollen (siehe Eigenschaften der Ressourcenzuweisung).

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 jeder Spark-Executor in einer serverlosen Spark-Arbeitslast verbraucht eine interne IP-Adresse in Ihrem Managed Service for Apache Spark-VPC-Netzwerk. /16 ist ein typischer vom Nutzer angegebener CIDR-Adressbereich für ein Managed Service for Apache Spark-VPC-Netzwerk. Sie können den IP-Adressbereich Ihres Netzwerks basierend auf der Anzahl der gleichzeitig auszuführenden Arbeitslasten begrenzen.

Unterstützt Managed Service for Apache Spark die Datenresidenz?

Ja. Sie geben die Region an, in der Ihre Arbeitslast verarbeitet wird. Suchen Sie Ihre Eingabe- und Ausgabedatensätze in der angegebenen Region.

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 aus, in der eine Arbeitslast ausgeführt wird, basierend auf Kapazität und Verfügbarkeit. 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 verwenden Managed Service for Apache Spark-Arbeitslasten Compute-Ressourcen?

Jede Arbeitslast wird auf eigenen Compute-Ressourcen ausgeführt. Bei mehreren Batch-Übermittlungen werden keine Compute-Ressourcen gemeinsam genutzt oder wiederverwendet.

Best Practices :

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

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

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

Weitere Informationen finden Sie in den Versionshinweisen zu Managed Service for Apache Spark.

Konkurrieren gleichzeitig ausgeführte Arbeitslasten um Ressourcen?

Managed Service for Apache Spark-Arbeitslasten 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 Managed Service for Apache Spark-Kontingent zugewiesen?

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

Muss ich einen Persistent History Server 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.Mit dem PHS können Sie Spark-Ereignislogs und andere Logs in einem angegebenen Cloud Storage-Bucket bis zum und nach dem Standardzeitraum von 90 Tagen für die Aufbewahrung (TTL) von Managed Service for Apache Spark-Staging- und temporären Buckets aufrufen.

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

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

Wenn Sie einen PHS für Managed Service for Apache Spark einrichten, haben Sie dauerhaften Zugriff auf Spark-Ereignislogs, die in Cloud Storage gespeichert sind. Diese Logs bieten Einblicke in die 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 der spark.executor.instances Eigenschaft 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. Die gleiche Anzahl von Aufgaben wird auch für eine Arbeitslast mit zwei Executors mit jeweils vier Kernen ausgeführt. Da die Anzahl der Kerne für jede Arbeitslast gleich ist, wird die gleiche Anzahl von Aufgaben ausgeführt. Mit der spark.executor.cores Eigenschaft 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 verwendet die Messwerte für die dynamische Zuweisung von Spark (maximum-needed und running), um zu bestimmen, ob eine Auf- oder Herunterskalierung erforderlich ist. Weitere Informationen finden Sie unter Autoscaling von Managed Service for Apache Spark.

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

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

  • 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 zu senden?

Spark ist in Scala geschrieben. Das bedeutet, dass sowohl der Treiber als auch die Worker-Prozesse 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.