FAQ zu Dataproc Serverless

Diese Seite enthält häufig gestellte Fragen zu Dataproc Serverless.

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

  • Serverloses Dataproc:

    • Unterstützt Spark-Batcharbeitslasten und interaktive Sitzungen in PySpark-Kernel-Jupyter-Notebooks.
    • Mit Dataproc Serverless werden Ihre Arbeitslast- und interaktive Sitzungsinfrastruktur erstellt und verwaltet.
  • Dataproc auf Compute Engine:

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

    • Erstelle und verwaltet keine Infrastruktur. Sie erstellen und verwalten Dataproc-Cluster.

Was kann ich mit Dataproc Serverless for Spark tun?

Wie sollte ich einen Arbeitslastausführungsplan einrichten?

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

Kann ich mit Dataproc Serverless for Spark ein benutzerdefiniertes Image verwenden?

Kann ich Arbeitsspeicher- und Laufwerksressourcen für Dataproc Serverless Spark-Arbeitslasten angeben?

Ja. Sie können Premium-Executor- und Treiber-Computing- und Laufwerksstufen sowie die Menge der Treiber- und Executor-Computing- und Laufwerksressourcen angeben, die beim Senden einer Arbeitslast zugewiesen werden sollen (siehe Attribute für Ressourcenzuweisung).

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

Dataproc Serverless for Spark-Arbeitslasten werden in Ihrer Umgebung ausgeführt. Jeder Spark-Treiber und Spark-Executor in einer serverlosen Spark-Arbeitslast verwendet eine interne IP-Adresse in Ihrem serverlosen Dataproc-VPC-Netzwerk. /16 ist ein typischer vom Nutzer angegebener CIDR-Adressbereich für ein serverloses Dataproc-VPC-Netzwerk. Sie können den IP-Adressbereich Ihres Netzwerks anhand der Anzahl der gleichzeitig auszuführenden Arbeitslasten beschränken.

Unterstützt Dataproc Serverless den Datenstandort?

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 in der angegebenen Region aus, um die Arbeitslast auszuführen?

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

Wie verwenden Dataproc Serverless-Arbeitslasten Rechenressourcen?

Jede Arbeitslast wird mit eigenen Rechenressourcen ausgeführt. Mehrere Batcheinreichungen nutzen keine Rechenressourcen gemeinsam oder verwenden sie nicht wieder.

Best Practices:

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

  • Daten, auf die mehrere Arbeitslasten in Cloud Storage zugreifen, dauerhaft speichern.

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

Siehe Dataproc Serverless-Versionshinweise.

Konkurrieren gleichzeitige Arbeitslasten um Ressourcen?

Dataproc Serverless-Arbeitslasten konkurrieren nur dann um Ressourcen, wenn Ihr Ressourcenkontingent nicht ausreicht, um alle gleichzeitig ausgeführten Arbeitslasten auszuführen. Andernfalls sind die Arbeitslasten vollständig voneinander isoliert.

Wie wird das Dataproc Serverless-Kontingent zugewiesen?

Serverlose Dataproc-Batches verbrauchen Google Cloud-Ressourcen. Weitere Informationen finden Sie unter Dataproc Serverless-Kontingente.

Muss ich einen Dataproc-Server für nichtflüchtigen Verlauf einrichten?

Das Einrichten eines Persistent History Servers (PHS) für die Verwendung mit Dataproc Serverless ist optional.Sie können mit der PHS Spark-Ereignisse und andere Logs in einem bestimmten Cloud Storage-Bucket bis zu und nach der standardmäßigen 90-tägigen Aufbewahrungsdauer von Dataproc Serverless Staging und temporärem Bucket aufrufen.

Welche serverlosen Spark-Logs in Dataproc sind verfügbar?

Spark-Executors und Treiberlogs sind in Cloud Logging während und nach der Ausführung von Spark-Arbeitslasten verfügbar. Außerdem sind Spark-Anwendungen während der Ausführung der Arbeitslast auf der Weboberfläche des Persistent History Servers (PHS) sichtbar. Wählen Sie dazu in der PHS-UI PHS > Unvollständige Anwendungen aus.

Wenn Sie ein Dataproc-PHS einrichten, erhalten Sie dauerhaften Zugriff auf in Cloud Storage gespeicherte Spark-Ereignislogs. Diese bieten einen Einblick 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 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 führt er die gleiche Anzahl von Aufgaben für eine Arbeitslast aus, die zwei Executors mit jeweils vier Kernen hat. Da die Anzahl der Kerne für jede Arbeitslast gleich ist, wird auf ihnen auch 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 Dataproc Serverless-Arbeitslast festlegen.

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

Dataproc Serverless for Spark prüft die dynamischen Zuordnungsmesswerte von maximum-needed und running von Spark, um zu bestimmen, ob eine Hoch- oder Herunterskalierung erfolgt. Siehe Dataproc Serverless für Spark-Autoscaling.

Kann ich das serverlose Autoscaling-Verhalten von Dataproc mithilfe von Spark-Attributen konfigurieren?

Ja. Das serverlose Autoscaling in Dataproc basiert auf der dynamischen Spark-Zuordnung und ist standardmäßig aktiviert. Sie können die folgenden Spark-Attribute und Attribute der dynamischen Spark-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 zu senden?

Spark ist in Scala geschrieben. Das bedeutet, dass sowohl die Treiber- als auch die Worker-Prozesse als JVM-Prozesse ausgeführt werden. In JVM-Sprachen ist die JAR-Datei die primäre Methode, um Code zu verpacken. Sie übergeben die JAR-Datei an Dataproc Serverless, wenn Sie eine Arbeitslast senden.