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:
- Klicken Sie auf die Schaltfläche Settings .
- 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 dieupdates
beiden Clustermaintenance
. 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 denmaintenance
-Cluster gelten. Sie können diemaintenance
-Bezeichnung auch verwenden, um die von derdefault
-Bezeichnung konfigurierten Einstellungen außer Kraft zu setzen. - Die
updates
-Bezeichnung definiert Einstellungen, die nur für denupdates
-Cluster gelten. Verwenden Sie sie zum Konfigurieren von Einstellungen, die nicht auf denmaintenance
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.delay
0 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
}
]
}