Teilen über


Konfigurieren der klassischen Berechnung für Pipelines

Diese Seite enthält Anweisungen zum Konfigurieren der klassischen Berechnung für Lakeflow Spark Declarative Pipelines. Eine Referenz des JSON-Schemas finden Sie in der clusters Definition in der Pipeline-API-Referenz.

Um eine Pipeline zu erstellen, die auf der klassischen Compute ausgeführt wird, müssen Benutzer zuerst über die Berechtigung zum Bereitstellen der klassischen Compute verfügen, entweder über die uneingeschränkte Erstellungsberechtigung oder den Zugriff auf eine Computerichtlinie. Serverlose Pipelines erfordern keine Computeerstellungsberechtigungen. Standardmäßig können alle Arbeitsbereichsbenutzer serverlose Pipelines verwenden.

Hinweis

Da die Lakeflow Spark Declarative Pipelines Runtime den Lebenszyklus der Pipelineberechnung verwaltet und eine benutzerdefinierte Version von Databricks Runtime ausführt, können Sie einige Berechnungseinstellungen in einer Pipelinekonfiguration, z. B. die Spark-Version oder Clusternamen, nicht manuell festlegen. Siehe Clusterattribute, die nicht vom Benutzer festgelegt werden können.

Wählen Sie Rechenleistung für Ihre Pipeline

So konfigurieren Sie die klassische Berechnung für Ihre Pipeline aus dem Lakeflow Pipelines Editor:

  1. Klicken Sie auf Einstellungen.
  2. Klicken Sie im Abschnitt "Compute" der Pipelineeinstellungen auf das Bleistiftsymbol. Bearbeiten.
  3. Wenn die Option aktiviert ist, deaktivieren Sie "Serverless".
  4. Nehmen Sie andere Änderungen an den Berechnungseinstellungen vor, und klicken Sie dann auf "Speichern".

Diese Konfiguration legt fest, dass Ihre Pipeline klassische Rechenressourcen verwendet, und ermöglicht es Ihnen, die Recheneinstellungen wie im Folgenden beschrieben zu bearbeiten.

Weitere Informationen zum Lakeflow Pipelines Editor finden Sie unter Entwickeln und Debuggen von ETL-Pipelines mit dem Lakeflow Pipelines Editor.

Auswählen einer Computerichtlinie

Arbeitsbereichsadministratoren können Rechenrichtlinien konfigurieren, um Benutzern Zugriff auf klassische Rechnerressourcen für Pipelines zu bieten. Computerichtlinien sind optional. Wenden Sie sich an Ihren Arbeitsbereichsadministrator, wenn Sie nicht über die erforderlichen Computeberechtigungen verfügen. Siehe Definieren von Grenzwerten für die Computeverarbeitung von Lakeflow Spark Declarative Pipelines.

Wenn Sie die Pipelines-API verwenden, um sicherzustellen, dass die Standardwerte der Computerichtlinie korrekt angewendet werden, legen Sie diese in der "apply_policy_default_values": true Definition festclusters:

{
  "clusters": [
    {
      "label": "default",
      "policy_id": "<policy-id>",
      "apply_policy_default_values": true
    }
  ]
}

Konfigurieren von Computetags

Sie können benutzerdefinierte Tags zu den klassischen Computeressourcen Ihrer Pipeline hinzufügen. Tags ermöglichen es Ihnen, die Kosten der Computeressourcen zu überwachen, die von verschiedenen Gruppen in Ihrer Organisation verwendet werden. Databricks wendet diese Tags auf Cloudressourcen und auf Nutzungsprotokolle an, die in den Verwendungssystemtabellen aufgezeichnet werden. Sie können Tags mithilfe der Ui-Einstellung " Clustertags " hinzufügen oder die JSON-Konfiguration Ihrer Pipeline bearbeiten.

Auswählen von Instanztypen zum Ausführen einer Pipeline

Standardmäßig wählt Lakeflow Spark Declarative Pipelines die Instanztypen für die Treiber- und Workerknoten Ihrer Pipeline aus. Optional können Sie die Instanztypen konfigurieren. Wählen Sie z. B. Instanztypen aus, um die Pipelineleistung zu verbessern oder Speicherprobleme beim Ausführen der Pipeline zu beheben.

So konfigurieren Sie Instanztypen, wenn Sie eine Pipeline im Lakeflow-Pipelines-Editor erstellen oder bearbeiten:

  1. Klicken Sie auf die Schaltfläche "Einstellungen ".
  2. Klicken Sie im Abschnitt "Compute" der Pipelineeinstellungen auf das Bleistiftsymbol.
  3. Wählen Sie im Abschnitt "Erweiterte Einstellungen" die Instanztypen "Worker" und "Driver" für die Pipeline aus.

Konfigurieren separater Einstellungen für die Update- und Wartungscluster

Jede deklarative Pipeline verfügt über zwei zugeordnete Computeressourcen: ein Updatecluster, der Pipelineupdates verarbeitet, und einen Wartungscluster, der tägliche Wartungsaufgaben ausführt (einschließlich der Vorhersageoptimierung). Standardmäßig gelten Ihre Computekonfigurationen für beide Cluster. Die Verwendung der gleichen Einstellungen für beide Cluster verbessert die Zuverlässigkeit der Wartung, indem sichergestellt wird, dass erforderliche Konfigurationen wie Datenzugriffsanmeldeinformationen für einen Speicherort auf den Wartungscluster angewendet werden.

Um Einstellungen nur auf einen der beiden Cluster anzuwenden, fügen Sie das label Feld dem JSON-Einstellungsobjekt hinzu. Es gibt drei mögliche Werte für das label Feld:

  • maintenance: Wendet die Einstellung nur auf den Wartungscluster an.
  • updates: Wendet die Einstellung nur auf den Updatecluster an.
  • default: Wendet die Einstellung auf die Update- und Wartungscluster an. Dies ist der Standardwert, wenn das label Feld weggelassen wird.

Wenn eine widersprüchliche Einstellung vorhanden ist, setzt die Einstellung mit der updates Bezeichnung maintenance die mit der default Bezeichnung definierte Einstellung außer Kraft.

Hinweis

Der tägliche Wartungscluster wird nur in bestimmten Fällen verwendet:

  • Pipelines, die im Hive-Metastore gespeichert sind.
  • Pipelines in Arbeitsbereichen, die die serverlosen Rechnerbedingungen nicht akzeptiert haben. Wenn Sie Unterstützung bei der Annahme der Bedingungen benötigen, wenden Sie sich an Ihren Databricks-Vertreter.

Beispiel: Definieren einer Einstellung für den Updatecluster

Im folgenden Beispiel wird ein Spark-Konfigurationsparameter definiert, der nur der Konfiguration für den updates Cluster hinzugefügt wird:

{
  "clusters": [
    {
      "label": "default",
      "autoscale": {
        "min_workers": 1,
        "max_workers": 5,
        "mode": "ENHANCED"
      }
    },
    {
      "label": "updates",
      "spark_conf": {
        "key": "value"
      }
    }
  ]
}

Beispiel: Konfigurieren von Instanztypen für den Updatecluster

Um zu vermeiden, dass unnötige Ressourcen dem maintenance Cluster zugewiesen werden, wird in diesem Beispiel das Label updates genutzt, um die Instanzart nur für den Cluster updates zu definieren.

{
  "clusters": [
    {
      "label": "updates",
      "node_type_id": "Standard_D12_v2",
      "driver_node_type_id": "Standard_D3_v2",
      "...": "..."
    }
  ]
}

Verzögern des Herunterfahrens von Compute

Um das Verhalten des Herunterfahrens von Clustern zu steuern, können Sie den Entwicklungs- oder Produktionsmodus verwenden oder die pipelines.clusterShutdown.delay Einstellung in der Pipelinekonfiguration verwenden. Im folgenden Beispiel wird der Wert pipelines.clusterShutdown.delay auf 60 Sekunden festlegt:

{
  "configuration": {
    "pipelines.clusterShutdown.delay": "60s"
  }
}

Wenn der production-Modus aktiviert ist, lautet der Standardwert für pipelines.clusterShutdown.delay0 seconds. Wenn development der Modus aktiviert ist, lautet 2 hoursder Standardwert .

Hinweis

Da bei Lakeflow Spark Deklarative Pipelines Computingressourcen automatisch heruntergefahren werden, wenn sie nicht verwendet werden, können Sie keine Computerrichtlinie verwenden, die festgelegt ist autotermination_minutes. Dies führt zu einem Fehler.

Erstellen eines einzelnen Knoten-Computes

Ein einzelner Knoten compute verfügt über einen Treiberknoten, der sowohl als Master- als auch als Worker fungiert. Dies ist für Workloads vorgesehen, die kleine Datenmengen verwenden oder nicht verteilt werden.

Um eine Einzelknotenberechnung zu erstellen, legen Sie diesen Wert auf 0 fest num_workers . Beispiel:

{
  "clusters": [
    {
      "num_workers": 0
    }
  ]
}