FAQs zu Dataproc Serverless

Auf dieser Seite finden Sie häufig gestellte Fragen zu Dataproc Serverless und die zugehörigen Antworten.

Wann sollte ich Dataproc Serverless für Spark anstelle von Dataproc in der Compute Engine verwenden?

  • Dataproc Serverless:

    • Unterstützt Spark-Batch-Arbeitslasten und interaktive Sitzungen in PySpark-Kernel-Jupyter-Notebooks.
    • Mit Dataproc Serverless werden Ihre Arbeitslast und die Infrastruktur für interaktive Sitzungen erstellt und verwaltet.
  • Dataproc in Compute Engine:

    • Unterstützt das Einreichen 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 Dataproc-Cluster.

Was kann ich mit Dataproc Serverless für Spark tun?

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

Sie können Arbeitslasten parallel 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 die Kontingente für Batchressourcen zulassen.

Kann ich ein benutzerdefiniertes Image mit Dataproc Serverless für Spark verwenden?

Kann ich Arbeitsspeicher- und Laufwerkressourcen für serverlose Spark-Arbeitslasten in Dataproc angeben?

Ja. Sie können die Rechen- und Laufwerkstufen für Premium-Ausführer und ‑Treiber sowie die Menge der zuzuweisenden Rechen- und Laufwerkressourcen für Treiber und Ausführer angeben, wenn Sie eine Arbeitslast einreichen (siehe Eigenschaften für die Ressourcenzuweisung).

Wie kann ich den IP-Adressbereich für mein serverloses VPC-Netzwerk von Dataproc angeben?

Dataproc Serverless für Spark-Arbeitslasten werden in Ihrer Umgebung ausgeführt. Jeder Spark-Treiber und jeder Spark-Executor in einer serverlosen Spark-Arbeitslast belegt eine interne IP-Adresse in Ihrem VPC-Netzwerk für Dataproc Serverless. /16 ist ein typischer vom Nutzer angegebener CIDR für ein serverloses VPC-Netzwerk von Dataproc. Sie können den IP-Adressbereich Ihres Netzwerks anhand der Anzahl der geplanten parallelen Arbeitslasten begrenzen.

Unterstützt Dataproc Serverless die Datenspeicherung?

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

Wie wählt Dataproc Serverless eine Zone innerhalb der angegebenen Region für die Ausführung der Arbeitslast aus?

Dataproc Serverless 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 einreichen.

Wie werden Computing-Ressourcen von Dataproc Serverless-Arbeitslasten genutzt?

Jede Arbeitslast wird auf 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 mehrere Arbeitslasten zugreifen, in Cloud Storage speichern

Wo finde ich Informationen zu Ankündigungen, Funktionen, Fehlerkorrekturen, bekannten Problemen und eingestellten Funktionen von Dataproc Serverless?

Weitere Informationen finden Sie in den Versionshinweisen für Dataproc Serverless.

Konkurrieren parallele Arbeitslasten um Ressourcen?

Serverlose Dataproc-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 Dataproc Serverless-Kontingent zugewiesen?

Für Dataproc Serverless-Batches werden Google Cloud-Ressourcen verbraucht. Weitere Informationen finden Sie unter Dataproc Serverless-Kontingente.

Muss ich einen Dataproc Persistent History Server einrichten?

Das Einrichten eines Persistent History Servers (PHS) für die Verwendung mit Dataproc Serverless ist optional.Mit dem PHS können Sie Spark-Ereignisse und andere Protokolle in einem bestimmten Cloud Storage-Bucket bis zu und nach dem standardmäßigen 90-tägigen Speicherzeitraum (TTL) des Dataproc Serverless-Staging- und ‑Temporaritäts-Buckets aufrufen.

Welche Dataproc Serverless Spark-Protokolle sind verfügbar?

Spark-Executor- und Treiber-Logs 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 Servers (PHS) sichtbar, während die Arbeitslast ausgeführt wird. Wählen Sie dazu auf der PHS-Benutzeroberfläche PHS > Unvollständige Anwendungen aus.

Wenn Sie einen Dataproc-PHS einrichten, erhalten Sie dauerhaften Zugriff auf Spark-Ereignisprotokolle, die in Cloud Storage gespeichert sind. Diese 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 Eigenschaft spark.executor.instances festlegen. Die Gesamtzahl der Kerne, die eine Arbeitslast nutzen 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 auf beiden die gleiche Anzahl von Aufgaben ausgeführt. Mit der Eigenschaft spark.executor.cores können Sie die Anzahl der Kerne pro Executor für Ihre Dataproc Serverless-Arbeitslast festlegen.

Welche Spark-Messwerte werden von Dataproc Serverless für das Autoscaling verwendet?

Dataproc Serverless für Spark verwendet die dynamischen Zuordnungsmesswerte maximum-needed und running von Spark, um zu bestimmen, ob eine Auf- oder Abwärtsskalierung erforderlich ist. Weitere Informationen finden Sie unter Dataproc Serverless für Spark-Autoscaling.

Kann ich das Autoscaling-Verhalten von Dataproc Serverless mit Spark-Properties konfigurieren?

Ja. Die automatische Skalierung von Dataproc Serverless basiert auf der dynamischen Spark-Zuweisung und ist standardmäßig aktiviert. Sie können die folgenden Spark-Properties und Spark-Properties für die dynamische Zuordnung 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 Dataproc Serverless, wenn Sie eine Arbeitslast einreichen.