Auf dieser Seite finden Sie Antworten auf häufig gestellte Fragen zu Google Cloud Serverless for Apache Spark.
Wann sollte ich Serverless for Apache Spark anstelle von Dataproc in Compute Engine verwenden?
Serverless for Apache Spark:
- Unterstützt Spark-Batcharbeitslasten und interaktive Sitzungen in PySpark-Kernel Jupyter-Notebooks.
- Serverless for Apache Spark erstellt und verwaltet die Infrastruktur für Ihre Arbeitslast und interaktive Sitzungsinfrastruktur.
Dataproc in Compute Engine:
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 Dataproc-Cluster.
Was kann ich mit Serverless for Apache Spark tun?
Das Dataproc JupyterLab-Plug-in für serverlose Batch- und interaktive Notebook-Sitzungen verwenden.
Streamingjobs mit Spark-Streamingbibliotheken ausführen. Hinweis: Streaming ist kein verwalteter Dienst. Sie müssen Checkpointing und Neustarts selbst verwalten.
Modelle mit Spark MLlib trainieren.
Interaktive SQL-Notebooks für Datenexploration, Diagramme, Zeitreihen und räumlich-geografische Analysen verwenden.
Serverless for Apache Spark-Arbeitslasten mit Cloud Composer orchestrieren, einem verwalteten Apache Airflow-Dienst.
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 Serverless 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 Serverless for Apache Spark verwenden.
Kann ich Speicher- und Festplattenressourcen für Serverless for Apache Spark-Spark-Arbeitslasten angeben?
Ja. Sie können Premium-Executor- und -Treiber-Compute- und Festplatten-Tiers 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 Serverless for Apache Spark-VPC-Netzwerk angeben?
Serverless 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 Serverless for Apache Spark-VPC-Netzwerk.
/16 ist ein typischer vom Nutzer angegebener
CIDR Adressbereich
für ein Serverless 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 Serverless 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 Serverless for Apache Spark eine Zone in der angegebenen Region aus, um die Arbeitslast auszuführen?
Serverless 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 die fehlgeschlagene Arbeitslast noch einmal senden.
Wie verwenden Serverless 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 Einstellungshinweisen für Serverless for Apache Spark?
Weitere Informationen finden Sie in den Versionshinweisen zu Serverless for Apache Spark.
Konkurrieren gleichzeitig ausgeführte Arbeitslasten um Ressourcen?
Serverless 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 Serverless for Apache Spark-Kontingent zugewiesen?
Serverless for Apache Spark-Batches verbrauchen Google Cloud Ressourcen. Weitere Informationen finden Sie unter Dataproc Serverless-Kontingente.
Muss ich einen Dataproc Persistent History Server einrichten?
Das Einrichten eines Persistent History Server (PHS) zur Verwendung mit Serverless for Apache Spark ist optional.Sie können den PHS verwenden, um Spark-Ereignislogs und andere Logs in einem bestimmten Cloud Storage-Bucket bis zum und nach dem Standardzeitraum von 90 Tagen für den Staging- und temporären Bucket von Serverless for Apache Spark anzusehen.
Welche Serverless 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 Weboberfläche des Persistent History Server (PHS) sichtbar, während die Arbeitslast ausgeführt wird (wählen Sie in der PHS-UI PHS > Unvollständige Anwendungen aus).
Wenn Sie einen Dataproc-PHS 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 ausgeführt, die
zwei Executors mit jeweils vier Kernen hat. Da die Anzahl der Kerne für jede Arbeitslast die
gleiche 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 Serverless for Apache Spark-Arbeitslast festlegen.
Welche Spark-Messwerte verwendet Serverless for Apache Spark für das Autoscaling?
Serverless for Apache Spark verwendet die maximum-needed und running
Messwerte für die dynamische Zuweisung von Spark, um zu bestimmen, ob eine Auf- oder Herunterskalierung erforderlich ist.
Weitere Informationen finden Sie unter Serverless for Apache Spark-Autoscaling.
Kann ich das Autoscaling-Verhalten von Serverless for Apache Spark mit Spark-Eigenschaften konfigurieren?
Ja. Das Autoscaling von Serverless 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.instancesspark.dynamicAllocation.initialExecutorsspark.dynamicAllocation.minExecutorsspark.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 Serverless for Apache Spark, wenn Sie eine Arbeitslast senden.