In diesem Dokument erfahren Sie, wie Sie die Leistungsverbesserungen für Dataproc Spark aktivieren, damit Ihre Dataproc Spark-Jobs mehr Daten in kürzerer Zeit und zu geringeren Kosten verarbeiten können.
Zu den Leistungsverbesserungen von Dataproc Spark gehören:
- Verbesserungen beim Spark-Optimierer:
- Optimierte Spark-Pläne
- Verbesserte Leistung des Dataproc BigQuery-Connectors bei Verwendung in Spark-Jobs
- Verbesserungen bei der Spark-Ausführung:
- Verbesserungen der Spark-Ausführungs-Engine
Weitere Leistungsverbesserungen für Dataproc:Weitere Informationen finden Sie unter Cluster-Caching. Dadurch wird der Zeitaufwand für den Zugriff auf Daten in Cloud Storage reduziert.
Leistungsverbesserungen für Dataproc Spark aktivieren
Sie können die Google Cloud Console, die Google Cloud CLI und die Dataproc API verwenden, um Dataproc Spark-Leistungsverbesserungen zu aktivieren, wenn Sie einen Dataproc in Compute Engine-Cluster erstellen oder Ihren Spark-Job an Ihren Cluster senden.
Optimierungen bei der Clustererstellung aktivieren
Führen Sie die folgenden Schritte aus, um die Spark-Optimierung und die Ausführungsverbesserungen zu aktivieren, wenn Sie einen Dataproc-Cluster erstellen. Aktivierte Verbesserungen bleiben für alle Spark-Jobs in Kraft, die an den Cluster gesendet werden, es sei denn, Sie deaktivieren die Verbesserungen beim Einreichen des Jobs für einen bestimmten Job. Standardmäßig sind die Dataproc Spark-Leistungsverbesserungen in einem Dataproc-Cluster deaktiviert.
- Öffnen Sie in der Google Cloud Console die Dataproc-Seite Cluster erstellen.
- Klicken Sie im Formular Dataproc-Cluster erstellen in der Zeile Cluster in Compute Engine auf Erstellen.
- Klicken Sie auf der Seite Dataproc-Cluster in der Compute Engine erstellen auf den Bereich Cluster anpassen und scrollen Sie zum Abschnitt Clusterattribute.
- So aktivieren Sie die Spark-Optimierungsverbesserungen:
- Klicken Sie auf + ATTRIBUTE HINZUFÜGEN.
- Wählen Sie in der Liste Präfix die Option spark aus und fügen Sie den Wert „spark.dataproc.enhanced.optimizer.enabled“ im Feld Schlüssel und „wahr“ im Feld Wert hinzu.
- So aktivieren Sie die Spark-Ausführungsverbesserungen:
- Klicken Sie auf + ATTRIBUTE HINZUFÜGEN.
- Wählen Sie in der Liste Präfix die Option spark aus und fügen Sie den Wert „spark.dataproc.enhanced.execution.enabled“ im Feld Schlüssel und „wahr“ im Feld Wert hinzu.
- So aktivieren Sie die Spark-Optimierungsverbesserungen:
- Füllen Sie die restlichen Felder für die Clustererstellung aus oder bestätigen Sie sie und klicken Sie dann auf Erstellen.
Optimierungen bei der Jobeinreichung aktivieren
Führen Sie die folgenden Schritte aus, um Spark-Optimierungen und Ausführungsverbesserungen für einen Spark-Job zu aktivieren. Standardmäßig sind die Dataproc Spark-Leistungsoptimierungen für Spark-Jobs deaktiviert, es sei denn, Sie aktivieren die Optimierungen beim Erstellen eines Jobclusters oder für einen bestimmten Job.
- Öffnen Sie in der Google Cloud Console die Dataproc-Seite Jobs.
- Klicken Sie auf der Seite Jobs auf Job senden und scrollen Sie zum Abschnitt Jobeigenschaften.
- So aktivieren Sie die Spark-Optimierungsverbesserungen:
- Klicken Sie auf + ATTRIBUTE HINZUFÜGEN. Fügen Sie „spark.dataproc.enhanced.optimizer.enabled“ in das Feld Schlüssel und „wahr“ in das Feld Wert ein.
- So aktivieren Sie die Spark-Ausführungsverbesserungen:
- Klicken Sie auf + ATTRIBUTE HINZUFÜGEN.
- Fügen Sie „spark.dataproc.enhanced.execution.enabled“ in das Feld Schlüssel und „wahr“ in das Feld Wert ein.
- So aktivieren Sie die Spark-Optimierungsverbesserungen:
- Füllen Sie die übrigen Felder für die Stellenausschreibung aus oder bestätigen Sie sie und klicken Sie dann auf Senden.
Optimierungen bei der Clustererstellung aktivieren
Führen Sie die folgenden Schritte aus, um die Spark-Optimierung und die Ausführungsverbesserungen zu aktivieren, wenn Sie einen Dataproc-Cluster erstellen. Aktivierte Verbesserungen bleiben für alle Spark-Jobs in Kraft, die an den Cluster gesendet werden, es sei denn, Sie deaktivieren die Verbesserungen beim Einreichen des Jobs für einen bestimmten Job. Standardmäßig sind die Dataproc Spark-Leistungsverbesserungen in einem Dataproc-Cluster deaktiviert.
Führen Sie den folgenden Befehl gcloud dataproc clusters create lokal in einem Terminalfenster oder in Cloud Shell aus.
gcloud dataproc clusters create
CLUSTER_NAME \ --project=PROJECT_ID \ --region=REGION \ --image-version=IMAGE \ --properties=PROPERTIESHinweise:
- CLUSTER_NAME: Der Clustername, der innerhalb eines Projekts eindeutig sein muss. Der Name muss mit einem Kleinbuchstaben beginnen und darf bis zu 51 Kleinbuchstaben, Ziffern und Bindestriche enthalten. Er darf nicht mit einem Bindestrich enden. Der Name eines gelöschten Clusters kann wiederverwendet werden.
- PROJECT_ID: Das Projekt, das mit dem Cluster verknüpft werden soll.
- REGION: Die Compute Engine-Region, in der sich der Cluster befindet, z. B.
us-central1
.- Sie können das optionale Flag
--zone=ZONE
hinzufügen, um eine Zone innerhalb der angegebenen Region anzugeben, z. B.us-central1-a
. Wenn Sie keine Zone angeben, wird mit der automatischen Zonenplatzierung von Dataproc eine Zone mit der angegebenen Region ausgewählt.
- Sie können das optionale Flag
- IMAGE: Die Verbesserungen des Dataproc Spark-Optimizers und der Ausführungsleistung sind in den Dataproc-Image-Versionen
2.0.69+
und2.1.17+
sowie in späteren Releases verfügbar. Wenn Sie dieses Flag weglassen, wählt Dataproc die neueste Subminor-Version des Standard-Dataproc-in-Compute Engine-Images für den Cluster aus (siehe Standard-Dataproc-Image-Version). PROPERTIES:
- So aktivieren Sie die Spark-Optimierungsverbesserungen:
spark:spark.dataproc.enhanced.optimizer.enabled=true
- Wenn Sie die Spark-Ausführungsverbesserungen aktivieren möchten, geben Sie Folgendes an:
spark:spark.dataproc.enhanced.execution.enabled=true
- Wenn Sie Spark-Optimierungen und Ausführungsverbesserungen aktivieren möchten, geben Sie Folgendes an:
spark:spark.dataproc.enhanced.optimizer.enabled=true,spark:spark.dataproc.enhanced.execution.enabled=true
Optimierungen bei der Jobeinreichung aktivieren
Führen Sie die folgenden Schritte aus, um Spark-Optimierungen und Ausführungsverbesserungen für einen Spark-Job zu aktivieren. Standardmäßig sind die Dataproc Spark-Leistungsoptimierungen für Spark-Jobs deaktiviert, es sei denn, Sie aktivieren die Optimierungen beim Erstellen eines Jobclusters oder für einen bestimmten Job.
Führen Sie den folgenden Befehl gcloud dataproc jobs submit lokal in einem Terminalfenster oder in Cloud Shell aus.
gcloud dataproc jobs submit
SPARK_JOB_TYPE \ --cluster=CLUSTER_NAME \ --region=REGION \ --properties=PROPERTIESHinweise:
- SPARK_JOB_TYPE: Geben Sie
spark
,pyspark
,spark-sql
oderspark-r
an . - CLUSTER_NAME: Der Name des Jobs, in dem der Job ausgeführt werden soll.
- REGION: Die Region, in der sich der Cluster befindet.
PROPERTIES:
- So aktivieren Sie die Spark-Optimierungsverbesserungen:
spark.dataproc.enhanced.optimizer.enabled=true
- Wenn Sie die Spark-Ausführungsverbesserungen aktivieren möchten, geben Sie Folgendes an:
spark.dataproc.enhanced.execution.enabled=true
- Wenn Sie Spark-Optimierungen und Ausführungsverbesserungen aktivieren möchten, geben Sie Folgendes an:
spark.dataproc.enhanced.optimizer.enabled=true,spark.dataproc.enhanced.execution.enabled
- SPARK_JOB_TYPE: Geben Sie
Optimierungen bei der Clustererstellung aktivieren
Führen Sie die folgenden Schritte aus, um die Spark-Optimierung und die Ausführungsverbesserungen zu aktivieren, wenn Sie einen Dataproc-Cluster erstellen. Aktivierte Verbesserungen bleiben für alle Spark-Jobs in Kraft, die an den Cluster gesendet werden, es sei denn, Sie deaktivieren die Verbesserungen beim Einreichen des Jobs für einen bestimmten Job. Standardmäßig sind die Dataproc Spark-Leistungsverbesserungen in einem Dataproc-Cluster deaktiviert.
Geben Sie die folgende
SoftwareConfig.properties
als Teil einerclusters.create
-Anfrage an:- So aktivieren Sie die Spark-Optimierungsverbesserungen:
"spark:spark.dataproc.enhanced.optimizer.enabled": "true"
- Wenn Sie die Spark-Ausführungsverbesserungen aktivieren möchten, geben Sie Folgendes an:
"spark:spark.dataproc.enhanced.execution.enabled": "true"
- Wenn Sie Spark-Optimierungen und Ausführungsverbesserungen aktivieren möchten, geben Sie Folgendes an:
"spark:spark.dataproc.enhanced.optimizer.enabled": "true","spark:spark.dataproc.enhanced.execution.enabled": "true"
Optimierungen bei der Jobeinreichung aktivieren
Führen Sie die folgenden Schritte aus, um Spark-Optimierungen und Ausführungsverbesserungen für einen Spark-Job zu aktivieren. Standardmäßig sind die Dataproc Spark-Leistungsoptimierungen für Spark-Jobs deaktiviert, es sei denn, Sie aktivieren die Optimierungen beim Erstellen eines Jobclusters oder für einen bestimmten Job.
Geben Sie die folgende
properties
für einen SparkJob, PySparkJob, SparkSqlJob oder SparkRJob als Teil einerjobs.submit
-Anfrage an:- So aktivieren Sie die Spark-Optimierungsverbesserungen:
"spark.dataproc.enhanced.optimizer.enabled=true"
- Wenn Sie die Spark-Ausführungsverbesserungen aktivieren möchten, geben Sie Folgendes an:
"spark.dataproc.enhanced.execution.enabled=true"
- Wenn Sie Spark-Optimierungen und Ausführungsverbesserungen aktivieren möchten, geben Sie Folgendes an:
"spark.dataproc.enhanced.execution.enabled=true,spark.dataproc.enhanced.optimizer.enabled=true"