Freigeben über


Konfigurieren der Compute für eine Delta Live Tables-Pipeline

Dieser Artikel enthält Anweisungen und Überlegungen beim Konfigurieren von benutzerdefinierten Computeeinstellungen für Delta Live Tables-Pipelines.

Serverlose Pipelines bieten keine Computekonfigurationsoptionen. Siehe Konfigurieren einer serverlosen Delta Live Tables-Pipeline.

Wählen einer Clusterrichtlinie

Benutzer und Benutzerinnen müssen über Berechtigungen zum Bereitstellen von Compute verfügen, um Delta Live Tables-Pipelines konfigurieren und aktualisieren zu können. Arbeitsbereichsadministratoren können Clusterrichtlinien konfigurieren, um Benutzern Zugriff auf Computeressourcen für Delta Live Tables zu ermöglichen. Weitere Informationen finden Sie unter Definieren von Grenzwerten für Delta Live Tables-Pipelinecompute.

Hinweis

  • Clusterrichtlinien sind optional. Wenden Sie sich an Ihren Arbeitsbereichsadministrator, wenn Ihnen die für Delta Live-Tabellen erforderlichen Computeberechtigungen fehlen.

  • Um sicherzustellen, dass Die Standardwerte für Clusterrichtlinien ordnungsgemäß angewendet werden, legen Sie apply_policy_default_values true sie in den Clusterkonfigurationen in Ihrer Pipelinekonfiguration fest:

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

Konfigurieren von Clustertags

Sie können Clustertags verwenden, um die Nutzung Ihrer Pipelinecluster zu überwachen. Fügen Sie Clustertags in der Benutzeroberfläche von Delta Live Tables hinzu, wenn Sie eine Pipeline erstellen oder bearbeiten oder die JSON-Einstellungen für Ihre Pipelinecluster bearbeiten.

Auswählen von Instanztypen zum Ausführen einer Pipeline

Standardmäßig wählt Delta Live Tables 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. Sie können Instanztypen konfigurieren, wenn Sie eine Pipeline mit der REST-API oder auf der Delta Live Tables-Benutzeroberfläche erstellen oder bearbeiten.

So konfigurieren Sie Instanztypen beim Erstellen oder Bearbeiten einer Pipeline auf der Benutzeroberfläche von Delta Live Tables:

  1. Klicken Sie auf die Schaltfläche Settings .
  2. Wählen Sie im Abschnitt Erweitert der Pipelineeinstellungen in den Dropdownmenüs Arbeitstyp und Treibertyp die Instanztypen für die Pipeline aus.

Erweiterte Computekonfigurationen

Hinweis

Da Computeressourcen für serverlose DLT-Pipelines vollständig verwaltet werden, sind Computeeinstellungen nicht verfügbar, wenn Sie Serverless für eine Pipeline auswählen.

Jede Delta Live Tables-Pipeline verfügt über zwei zugeordnete Cluster:

  • Der updates-Cluster verarbeitet Pipelineupdates.
  • Der maintenance-Cluster führt tägliche Wartungsaufgaben aus.

Berechnungseinstellungen, die mithilfe der Arbeitsbereichpipelinekonfigurations-UI angegeben wurden, gelten sowohl für Update- als auch Wartungscluster. Sie müssen die JSON-Konfiguration bearbeiten, um diese Einstellungen unabhängig voneinander zu ändern.

Die Konfiguration dieser Cluster wird durch das clusters in den Pipelineeinstellungen angegebene Attribut bestimmt.

Mithilfe von Clusterbeschriftungen können Sie Computeeinstellungen hinzufügen, die nur für einen bestimmten Clustertyp gelten. Es gibt drei Bezeichnungen, die Sie beim Konfigurieren von Pipelineclustern verwenden können:

Hinweis

Die Einstellung der Clusterbezeichnung kann weggelassen werden, wenn Sie nur eine Clusterkonfiguration definieren. Die default-Bezeichnung wird auf Clusterkonfigurationen angewendet, wenn keine Einstellung für die Bezeichnung angegeben ist. Die Clusterbezeichnungseinstellung ist nur erforderlich, wenn Sie Einstellungen für verschiedene Clustertypen anpassen müssen.

  • Die default Bezeichnung definiert Computeeinstellungen für die updates beiden Cluster maintenance . Die Anwendung derselben Einstellungen auf beide Cluster erhöht die Zuverlässigkeit von Wartungsläufen, da sichergestellt wird, dass die erforderlichen Konfigurationen, z. B. die Anmeldeinformationen für den Datenzugriff auf einen Speicherort, auf den Wartungscluster angewendet werden.
  • Die maintenance-Bezeichnung definiert Computeeinstellungen, die nur für den maintenance-Cluster gelten. Sie können die maintenance-Bezeichnung auch verwenden, um die von der default-Bezeichnung konfigurierten Einstellungen außer Kraft zu setzen.
  • Die updates-Bezeichnung definiert Einstellungen, die nur für den updates-Cluster gelten. Verwenden Sie sie zum Konfigurieren von Einstellungen, die nicht auf den maintenance Cluster angewendet werden sollen.

Die mithilfe der Bezeichnungen default und updates definierten Einstellungen werden zusammengeführt, um die endgültige Konfiguration für den updates-Cluster zu erstellen. Wenn dieselbe Einstellung sowohl mit default- als auch mit updates-Bezeichnungen definiert wird, setzt die mit der updates-Bezeichnung definierte Einstellung die mit der default-Bezeichnung definierte Einstellung außer Kraft.

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"
      }
    }
  ]
}

Delta Live Tables verfügt über ähnliche Optionen für Clustereinstellungen wie andere Computevorgänge in Azure Databricks. Wie bei anderen Pipelineeinstellungen können Sie die JSON-Konfiguration für Cluster ändern, um Optionen anzugeben, die auf der Benutzeroberfläche nicht vorhanden sind. Siehe Compute.

Hinweis

Da die Delta Live Tables-Runtime den Lebenszyklus von Pipelineclustern verwaltet und eine benutzerdefinierte Version von Databricks Runtime ausführt, können Sie einige Clustereinstellungen in einer Pipelinekonfiguration nicht manuell festlegen, z. B. die Spark-Version oder Clusternamen. Weitere Informationen finden Sie unter Clusterattribute, die nicht vom Benutzer festgelegt werden können.

Konfigurieren von Instanztypen für Update- und Wartungscluster

Um Instanztypen in den JSON-Einstellungen der Pipeline zu konfigurieren, klicken Sie auf die JSON-Schaltfläche, und geben Sie die Instanztypkonfigurationen in die Clusterkonfiguration ein:

Hinweis

Um zu vermeiden, dass dem maintenance-Cluster unnötige Ressourcen zugewiesen werden, wird in diesem Beispiel die updates-Bezeichnung verwendet, um die Instanztypen nur für den updates-Cluster festzulegen. Um die Instanztypen sowohl updates- als auch maintenance-Clustern zuzuweisen, verwenden Sie die default-Bezeichnung, oder lassen Sie die Einstellung für die Bezeichnung aus. Die default-Bezeichnung wird auf Pipelineclusterkonfigurationen angewendet, wenn keine Einstellung für die Bezeichnung angegeben ist. Weitere Informationen finden Sie unter "Erweiterte Computekonfigurationen".

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

Verzögern des Herunterfahrens von Computedaten

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

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

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

Hinweis

Da ein Delta Live Tables-Cluster automatisch beendet wird, wenn er nicht verwendet wird, führt das Verweisen auf eine Clusterrichtlinie, die in Ihrer Clusterkonfiguration festgelegt wird autotermination_minutes , zu Einem Fehler.

Erstellen eines Einzelknotenclusters

Wenn Sie num_workers in Clustereinstellungen auf 0 festlegen, wird der Cluster als Einzelknotencluster erstellt. Wenn Sie einen automatischen Cluster konfigurieren und die Einstellung auf 0 und max_workers 0 festlegenmin_workers, wird ein Einzelner Knotencluster erstellt.

Wenn Sie einen automatischen Skalierungscluster konfigurieren und nur min_workers auf 0 festlegen, wird der Cluster nicht als Einzelner Knotencluster erstellt. Der Cluster verfügt jederzeit über mindestens einen aktiven Worker bis zum Beenden.

Eine Beispielclusterkonfiguration zum Erstellen eines Einzelknotenclusters in Delta Live Tables:

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