Leistungsverbesserungen für Dataproc Spark

In diesem Dokument erfahren Sie, wie Sie Dataproc aktivieren Spark-Leistungsverbesserungen zur Unterstützung Ihrer Dataproc Spark-Jobs mehr Daten in kürzerer Zeit und bei geringeren Kosten verarbeiten.

Zu den Leistungsverbesserungen von Dataproc Spark gehören:

  • Erweiterungen des Spark-Optimierungstools:
    • Optimierte Spark-Pläne
    • Verbesserte Leistung von Dataproc BigQuery-Connector bei Verwendung in Spark-Jobs
  • Verbesserungen bei der Spark-Ausführung:
    • Verbesserungen der Spark-Ausführungs-Engine

Weitere Leistungsverbesserungen von Dataproc:Siehe Dataproc Cluster-Caching was dazu beiträgt, den Zeitaufwand für den Zugriff auf Daten in Cloud Storage zu reduzieren.

Dataproc Spark-Leistungsverbesserungen aktivieren

Sie können die Google Cloud Console, die Google Cloud CLI und Dataproc API zum Aktivieren von Dataproc Spark-Leistungsverbesserungen wenn Sie einen Dataproc in Compute Engine-Cluster erstellen senden Sie den Spark-Job an den Cluster.

Console

Verbesserungen 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 wirksam an den Cluster gesendet werden, es sei denn, Sie deaktivieren die Erweiterungen für einen bestimmten Job wenn Sie den Job senden. Standardmäßig sind die Dataproc Spark-Leistungsverbesserungen in einem Dataproc-Cluster deaktiviert.

  1. Öffnen Sie in der Google Cloud Console die Dataproc-Seite Cluster erstellen.
  2. Klicken Sie im Formular Dataproc-Cluster erstellen auf Erstellen Cluster on Compute Engine.
  3. Klicken Sie auf der Seite Dataproc-Cluster in der Compute Engine erstellen auf den Bereich Cluster anpassen und scrollen Sie zum Abschnitt Clusterattribute.
    1. So aktivieren Sie Spark-Optimierungsverbesserungen:
      1. Klicken Sie auf + ATTRIBUTE HINZUFÜGEN.
      2. Wählen Sie in der Liste Präfix spark aus und fügen Sie "spark.dataproc.enhanced.optimizer.enabled" im Feld Key eingeben und „wahr“ im Feld Wert ein.
    2. So aktivieren Sie die Spark-Ausführungsoptimierungen:
      1. Klicken Sie auf + ATTRIBUTE HINZUFÜGEN.
      2. 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.
  4. Füllen Sie die anderen Felder für die Clustererstellung aus oder bestätigen Sie sie. Klicken Sie auf Erstellen.

Erweiterungen bei der Jobübermittlung aktivieren

Führen Sie die folgenden Schritte aus, um Spark-Optimierungen und Ausführungsverbesserungen zu aktivieren für einen Spark-Job. Standardmäßig sind Dataproc Spark-Leistungsverbesserungen deaktiviert für Spark-Jobs, es sei denn, Sie aktivieren die Erweiterungen beim Erstellen eines Jobclusters oder für einen bestimmten Job aktivieren.

  1. Öffnen Sie Dataproc in der Google Cloud Console. Karriere und Beruf Seite.
  2. Klicken Sie auf der Seite Jobs auf Job senden und scrollen Sie zum Job. Eigenschaften:
    1. So aktivieren Sie Spark-Optimierungsverbesserungen:
      1. 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.
    2. So aktivieren Sie die Spark-Ausführungsoptimierungen:
      1. Klicken Sie auf + ATTRIBUTE HINZUFÜGEN.
      2. Fügen Sie „spark.Dataproc.Enhanced.Execution.enabled“ hinzu. im Feld Schlüssel und „true“ im Feld Wert ein.
  3. Füllen Sie die anderen Felder zur Auftragsübermittlung aus oder bestätigen Sie sie. Klicken Sie auf Senden.

gcloud

Verbesserungen bei der Clustererstellung aktivieren

Führen Sie die folgenden Schritte aus, um die Optimierungs- und Ausführungsverbesserungen von Spark zu aktivieren, wenn Sie 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 für einen bestimmten Job, wenn Sie ihn einreichen. Standardmäßig werden Leistungsverbesserungen von Dataproc Spark mit sind in einem Dataproc-Cluster deaktiviert.

  1. 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=PROPERTIES
    

    Hinweise:

    • 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, zum Angeben einer Zone innerhalb der angegebenen Region, wie us-central1-a. Wenn Sie keine Zone angeben, wird mit der automatischen Zonenplatzierung von Dataproc eine Zone mit der angegebenen Region ausgewählt.
    • IMAGE: Optimierungs- und Ausführungsleistung von Dataproc Spark Verbesserungen sind in den Dataproc-Image-Versionen 2.0.69+ und 2.1.17+ verfügbar und späteren Releases. Wenn Sie dieses Flag weglassen, wählt Dataproc der neuesten Sub-Minor-Version der Dataproc-Standardversion in Compute Engine Image für den Cluster (siehe Standardmäßige Dataproc-Image-Version).
    • PROPERTIES:

      • So aktivieren Sie die Spark-Optimierungsverbesserungen:
      spark:spark.dataproc.enhanced.optimizer.enabled=true
      
      • Geben Sie Folgendes an, um Spark-Ausführungsverbesserungen zu aktivieren:
      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
      
      

Erweiterungen bei der Jobübermittlung aktivieren

Führen Sie die folgenden Schritte aus, um Spark-Optimierungen und Ausführungsverbesserungen zu aktivieren für einen Spark-Job. Standardmäßig sind Dataproc Spark-Leistungsverbesserungen deaktiviert für Spark-Jobs, es sei denn, Sie aktivieren die Erweiterungen beim Erstellen eines Jobclusters oder für einen bestimmten Job aktivieren.

  1. 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=PROPERTIES
    

    Hinweise:

    • SPARK_JOB_TYPE: Geben Sie spark, pyspark, spark-sql oder spark-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
      
      • Geben Sie Folgendes an, um Spark-Ausführungsverbesserungen zu aktivieren:
      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
      

API

Verbesserungen 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 für einen bestimmten Job, wenn Sie ihn einreichen. Standardmäßig sind die Dataproc Spark-Leistungsverbesserungen in einem Dataproc-Cluster deaktiviert.

  1. Geben Sie Folgendes an: SoftwareConfig.properties im Rahmen einer clusters.create-Anfrage:

    • Geben Sie Folgendes an, um Spark-Optimierungsverbesserungen zu aktivieren:
    "spark:spark.dataproc.enhanced.optimizer.enabled": "true"
    
    • So aktivieren Sie die Spark-Ausführungsverbesserungen:
    "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"
    

Erweiterungen bei der Jobübermittlung aktivieren

Führen Sie die folgenden Schritte aus, um Spark-Optimierungen und Ausführungsverbesserungen zu aktivieren für einen Spark-Job. Standardmäßig sind Dataproc Spark-Leistungsverbesserungen deaktiviert für Spark-Jobs, es sei denn, Sie aktivieren die Erweiterungen beim Erstellen eines Jobclusters oder für einen bestimmten Job aktivieren.

  1. Geben Sie die folgende properties für ein SparkJob, PySparkJob, SparkSqlJob oder SparkRJob als Teil einer jobs.submit Anfrage:

    • So aktivieren Sie die Spark-Optimierungsverbesserungen:
    "spark.dataproc.enhanced.optimizer.enabled=true"
    
    • Geben Sie Folgendes an, um Spark-Ausführungsverbesserungen zu aktivieren:
    "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"