Spark-Attribute

Sie können Spark-Attribute festlegen, wenn Sie eine Spark-Batch-Arbeitslast einreichen.

Beispiel:

gcloud dataproc batches submit spark
    --properties=spark.checkpoint.compress=true \\
    --region=region \\
    other args ...

Hinweise:

  • Dataproc Serverless für Spark unterstützt die meisten Spark-Attribute, aber keine YARN- und Zufallsbezogenen Spark-Attribute wie spark.master=yarn und spark.shuffle.service.enabled. Wenn der Anwendungscode „Spark“ ein YARN- oder ein Shuffle-Attribut festgelegt ist, schlägt die Anwendung fehl.

  • Im Gegensatz zu den Cluster-Attributen von Dataproc in Compute Engine enthalten Dataproc Serverless for Spark-Arbeitslastattribute kein "spark:"-Präfix.

  • Das serverlose Autoscaling von Dataproc für Spark wird über die Ressourcenzuordnungseigenschaften von Spark gesteuert.

Benutzerdefinierte Spark-Attribute

Dataproc Serverless for Spark unterstützt die folgenden benutzerdefinierten Spark-Attribute:

Attribut Default Beschreibung Beispiele
spark.dataproc.driver.disk.size 100 GiB pro Kern Der Speicherplatz, der für den Treiberknoten verwendet werden soll (der Treiberprozess, in dem SparkContext initialisiert ist), mit einem Suffix für die Größeneinheit ("k", "m", "g" oder "t") 1.024 g, 2 t
spark.dataproc.executor.disk.size 100 GiB pro Kern Die Größe des Laufwerks, der für den Executor-Knoten verwendet werden soll (wo der Executor-Prozess ausgeführt wird), mit einem Suffix für die Größeneinheit ("k"m", "g" oder "t") 1.024 g, 2 t
spark.dataproc.driverEnv.<EnvironmentVariableName> Fügen Sie EnvironmentVariableName in den Treiberprozess ein. Sie können mehrere Umgebungsvariablen angeben.

Eigenschaften der Ressourcenzuweisung

Dataproc Serverless verwendet mithilfe von Spark-Attributen die Computing-, Arbeitsspeicher- und Laufwerkressourcen, um Ihre Arbeitslast zuzuweisen. Der Wert dieser Attribute kann das von Ihrer Arbeitslast verbrauchte Kontingent und Ihre Kosten beeinflussen (weitere Informationen finden Sie unter Serverlose Dataproc-Kontingente und serverlose Dataproc-Preise).

Attribut Effekt
spark.driver.cores Die Anzahl der Kerne (vCPUs), die dem Spark-Treiber zugewiesen werden sollen. Der Treiberspeicher skaliert mit Treiberkernen in einem festen Verhältnis (ungefähr 4 GB pro Kern) und ist derzeit nicht unabhängig kontrollierbar. Standardeinstellung: 4. Gültige Werte: 4, 8, 16.
spark.executor.cores Die Anzahl der Kerne (vCPUs), die jedem Spark-Executor zugewiesen werden sollen. Der Executor-Arbeitsspeicher wird mit Executor-Kernen in einem festen Verhältnis (ungefähr 4 GB pro Kern) skaliert und kann derzeit nicht unabhängig gesteuert werden. Standardeinstellung: 4. Gültige Werte: 4, 8, 16.
spark.dataproc.driver.disk.size Der Speicherplatz, der dem Treiber zugewiesen werden soll. Muss mindestens 200 GB betragen.
spark.dataproc.executor.disk.size Speicherplatz, der jedem Executor zugewiesen werden soll. Der Executor-Laufwerksspeicher kann für Shuffle-Daten und das Staging von Abhängigkeiten verwendet werden. Muss mindestens 200 GB betragen.
spark.executor.instances Die anfängliche Anzahl von Executors. Nach dem Start des Batches kann Autoscaling die Anzahl der aktiven Executors ändern. Muss mindestens 2 und höchstens 100 sein.
spark.dynamicAllocation.initialExecutors Die anfängliche Anzahl von Executors, die von Autoscaling angefordert werden. Nach dem Start des Batches kann die Anzahl der aktiven Executors durch Autoscaling geändert werden. Muss mindestens 2 und darf höchstens 100 sein.
spark.dynamicAllocation.minExecutors Die Mindestanzahl der Executors, auf die der Batch herunterskaliert werden kann. Muss mindestens 2 sein.
spark.dynamicAllocation.maxExecutors Die maximale Anzahl von Executors, bis zu der Batch hochskaliert werden kann. Der Wert darf höchstens 1.000 betragen.