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, 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 die Infrastruktur für Ihre Arbeitslasten und interaktiven Sitzungen.
Bereitstellung von Managed Service for Apache Spark-Clustern:
Unterstützt die Einreichung verschiedener Arten von Spark-Jobs und Jobs, die auf anderen Open-Source-Komponenten wie Flink, Hadoop, Hive, Pig und Presto basieren.
Es wird keine Infrastruktur erstellt und verwaltet. 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?
Streamingjobs mit Spark Streaming-Bibliotheken ausführen Hinweis: Streaming ist kein verwalteter Dienst. Sie müssen also selbst für Checkpointing und Neustarts sorgen.
Modelle mit Spark MLlib trainieren.
Verwenden Sie interaktive SQL-Notebooks für die Datenexploration, Grafiken, Zeitreihen und räumlich-geografische Analysen.
Sie können Managed Service for Apache Spark-Arbeitslasten mit Managed Service for Apache Airflow orchestrieren, einem verwalteten Apache Airflow-Dienst.
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 Google Cloud -Ressourcenkontingent aus. Sie können so viele Arbeitslasten parallel ausführen, wie es Ihr Batch-Ressourcenkontingent zulässt.
Kann ich ein benutzerdefiniertes Image mit der serverlosen Bereitstellung von Managed Service for Apache Spark verwenden?
- Ja. Sie können ein benutzerdefiniertes Container-Image anstelle des Standard-Container-Images verwenden. Weitere Informationen finden Sie unter Benutzerdefinierte Container mit Managed Service for Apache Spark verwenden.
Kann ich Speicher- und Laufwerksressourcen für Managed Service for Apache Spark-Arbeitslasten angeben?
Ja. Sie können Premium-Executor- und ‑Treiber-Rechen- und ‑Festplattenstufen sowie die Menge an Treiber- und Executor-Rechen- und ‑Festplattenressourcen angeben, die beim Senden einer Arbeitslast zugewiesen werden sollen (siehe Eigenschaften für die Ressourcenzuweisung).
Wie kann ich den IP-Adressbereich für mein VPC-Netzwerk für Managed Service for Apache Spark 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 belegt 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 Datenlokalisierung?
Ja. Sie geben die Region an, in der Ihre Arbeitslast verarbeitet wird. Suchen Sie Ihre Eingabe- und Ausgabe-Datasets in der angegebenen Region.
Wie wählt Managed Service for Apache Spark eine Zone innerhalb der angegebenen Region für die Ausführung der Arbeitslast aus?
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 werden Rechenressourcen für Managed Service for Apache Spark-Arbeitslasten verwendet?
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 von mehreren Arbeitslasten zugegriffen wird, in Cloud Storage speichern.
Wo finde ich Informationen zu Ankündigungen, Funktionen, Fehlerkorrekturen, bekannten Problemen und Einstellungen für Managed Service for Apache Spark?
Weitere Informationen finden Sie in den Versionshinweisen zu Managed Service for Apache Spark.
Konkurrieren gleichzeitige 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 die Arbeitslasten vollständig voneinander isoliert.
Wie wird das Kontingent für Managed Service for Apache Spark zugewiesen?
Für Managed Service for Apache Spark-Batches werden Google Cloud Ressourcen verbraucht. Weitere Informationen finden Sie unter Dataproc Serverless-Kontingente.
Muss ich einen Persistent History Server für Managed Service for Apache Spark einrichten?
Die Einrichtung 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-Ereignis- und andere Logs in einem angegebenen Cloud Storage-Bucket bis zum und nach dem standardmäßigen 90-Tage-Aufbewahrungszeitraum (TTL) des Managed Service for Apache Spark-Staging- und temporären Buckets anzusehen.
Welche Spark-Logs sind für Managed Service for Apache Spark 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 Weboberfläche des Persistent History Server (PHS) sichtbar, während die Arbeitslast ausgeführt wird. Wählen Sie dazu in der PHS-UI PHS > Incomplete Applications aus.
Wenn Sie einen Managed Service für Apache Spark-PHS einrichten, erhalten Sie dauerhaften Zugriff auf Spark-Ereignislogs, die in Cloud Storage gespeichert sind. Diese Logs geben Aufschluss über die Ausführung von Spark-Apps, 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 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 einen Arbeitslast ausgeführt, die zwei Executors mit jeweils vier Kernen hat. Da die Anzahl der Kerne für jeden Arbeitslasttyp gleich ist, wird 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 Managed Service for Apache Spark-Arbeitslast festlegen.
Welche Spark-Messwerte werden von Managed Service for Apache Spark für die automatische Skalierung verwendet?
Managed Service for Apache Spark verwendet die dynamischen Zuweisungsmesswerte von Spark für maximum-needed und running, um zu bestimmen, ob eine Auf- oder Abwärtsskalierung erfolgen 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 für 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 Spark-Attribute für die dynamische Zuordnung anpassen:
spark.executor.instancesspark.dynamicAllocation.initialExecutorsspark.dynamicAllocation.minExecutorsspark.dynamicAllocation.maxExecutors
Warum muss ich meinen Code in einer JAR-Datei verpacken, um meinen 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.