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
undspark.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. |