Konfigurieren einer serverlosen Delta Live Tables-Pipeline
In diesem Artikel werden Konfigurationen für serverlose Delta Live Tables-Pipelines beschrieben.
Databricks empfiehlt, neue Pipelines ohne Server zu entwickeln. Einige Workloads erfordern möglicherweise das Konfigurieren der klassischen Berechnung oder das Arbeiten mit dem legacy-Hive-Metaspeicher. Siehe Konfigurieren der Berechnung für eine Delta Live Tables-Pipeline und Verwenden von Delta Live Tables-Pipelines mit legacy hive metastore.
Hinweis
Serverlose Pipelines verwenden immer Unity-Katalog. Unity Catalog for Delta Live Tables is in Public Preview and has some limitations. Weitere Informationen finden Sie unter Verwenden von Unity Catalog mit Ihren Delta Live Tables-Pipelines.
Sie können In einem
clusters
Objekt in der JSON-Konfiguration für eine serverlose Pipeline keine Berechnungseinstellungen manuell hinzufügen. Ein entsprechender Versuch führt zu einem Fehler.Informationen zur Berechtigung und Aktivierung von serverlosn DLT-Pipelines finden Sie unter Aktivieren des serverlosen Computings.
Wenn Sie eine Azure Private Link-Verbindung mit Ihren serverlosen DLT-Pipelines verwenden müssen, wenden Sie sich an Ihren Databricks-Mitarbeiter.
Anforderungen
Ihr Arbeitsbereich muss Unity-Katalog aktiviert haben, um serverlose Pipelines zu verwenden.
Ihr Arbeitsbereich muss sich in einer serverlos-fähigen Region befinden.
Empfohlene Konfiguration für serverlose Pipelines
Wichtig
Die Berechtigung zum Erstellen von Clustern ist nicht erforderlich, um serverlose Pipelines zu konfigurieren. Standardmäßig können alle Arbeitsbereichsbenutzer serverlose Pipelines verwenden.
Serverlose Pipelines entfernen die meisten Konfigurationsoptionen, da Azure Databricks alle Infrastruktur verwaltet. Gehen Sie wie folgt vor, um eine serverlose Pipeline zu konfigurieren:
- Klicken Sie in der Randleiste auf Delta Live Tables .
- Klicken Sie auf "Pipeline erstellen".
- Geben Sie einen eindeutigen Pipelinenamen an.
- Aktivieren Sie das Kontrollkästchen neben Serverless.
- (Optional) Verwenden Sie die Dateiauswahl, um Notizbücher und Arbeitsbereichsdateien als Quellcode zu konfigurieren.
- Wenn Sie keinen Quellcode hinzufügen, wird ein neues Notizbuch für die Pipeline erstellt. Das Notizbuch wird in einem neuen Verzeichnis in Ihrem Benutzerverzeichnis erstellt, und ein Link zum Zugriff auf dieses Notizbuch wird im Feld "Quellcode " im Bereich "Pipelinedetails " angezeigt, nachdem Sie die Pipeline erstellt haben.
- Ein Link für den Zugriff auf dieses Notizbuch befindet sich im Feld "Quellcode " im Bereich "Pipelinedetails ", nachdem Sie Ihre Pipeline erstellt haben.
- Verwenden Sie die Schaltfläche "Quellcode hinzufügen", um zusätzliche Quellcoderessourcen hinzuzufügen.
- Wenn Sie keinen Quellcode hinzufügen, wird ein neues Notizbuch für die Pipeline erstellt. Das Notizbuch wird in einem neuen Verzeichnis in Ihrem Benutzerverzeichnis erstellt, und ein Link zum Zugriff auf dieses Notizbuch wird im Feld "Quellcode " im Bereich "Pipelinedetails " angezeigt, nachdem Sie die Pipeline erstellt haben.
- Wählen Sie einen Katalog aus, um Daten zu veröffentlichen.
- Wählen Sie ein Schema im Katalog aus. Alle in der Pipeline definierten Streamingtabellen und materialisierten Ansichten werden in diesem Schema erstellt.
- Klicken Sie auf Erstellen.
Diese empfohlenen Konfigurationen erstellen eine neue Pipeline, die für die Ausführung im Triggermodus und im aktuellen Kanal konfiguriert ist. Diese Konfiguration wird für viele Anwendungsfälle empfohlen, einschließlich Entwicklung und Tests, und eignet sich gut für Produktionsworkloads, die nach einem Zeitplan ausgeführt werden sollen. Ausführliche Informationen zum Planen von Pipelines finden Sie unter Delta Live Tables-Pipelineaufgabe für Aufträge.
Sie können auch vorhandene Pipelines konvertieren, die mit Dem Unity-Katalog konfiguriert sind, um serverlos zu verwenden. Siehe Konvertieren einer vorhandenen Pipeline, um serverlos zu verwenden.
Weitere Konfigurationsüberlegungen
Die folgenden Konfigurationsoptionen stehen auch für serverlose Pipelines zur Verfügung:
- Sie können den Modus "Fortlaufende Pipeline" verwenden, wenn Pipelines in der Produktion ausgeführt werden. Siehe "Triggered vs. continuous pipeline mode".
- Fügen Sie Benachrichtigungen für E-Mail-Updates basierend auf Erfolgs- oder Fehlerbedingungen hinzu. Siehe Hinzufügen von E-Mail-Benachrichtigungen für Pipelineereignisse.
- Verwenden Sie das Feld "Konfiguration ", um Schlüsselwertpaare für die Pipeline festzulegen. Diese Konfigurationen dienen zwei Zwecken:
- Legen Sie beliebige Parameter fest, auf die Sie im Quellcode verweisen können. Siehe Verwenden von Parametern mit Delta Live Tables-Pipelines.
- Konfigurieren Sie Pipelineeinstellungen und Spark-Konfigurationen. Weitere Informationen finden Sie unter Delta Live Tables-Eigenschaftenreferenz.
- Verwenden Sie den Vorschaukanal , um Ihre Pipeline mit ausstehenden Änderungen der Delta Live Tables-Laufzeit zu testen und neue Features zu testen.
Haushaltspolitik
Wichtig
Dieses Feature befindet sich in der Public Preview.
Budgetrichtlinien ermöglichen Es Ihrer Organisation, benutzerdefinierte Tags auf serverlose Verwendung für eine differenzierte Abrechnungszuordnung anzuwenden. Nachdem Sie das Kontrollkästchen "Serverless " aktiviert haben, wird die Einstellung "Budgetrichtlinie " angezeigt, in der Sie die Richtlinie auswählen können, die Sie auf die Pipeline anwenden möchten. Die Tags werden von der Budgetrichtlinie geerbt und können nur von Arbeitsbereichsadministratoren bearbeitet werden.
Hinweis
Nachdem Sie eine Budgetrichtlinie zugewiesen haben, werden Ihre vorhandenen Pipelines nicht automatisch mit Ihrer Richtlinie markiert. Sie müssen vorhandene Pipelines manuell aktualisieren, wenn Sie eine Richtlinie an diese anfügen möchten.
Weitere Informationen zu Budgetrichtlinien finden Sie unter Attributserverlose Verwendung mit Budgetrichtlinien.
Serverlose Pipelinefeatures
Zusätzlich zur Vereinfachung der Konfiguration verfügen serverlose Pipelines über die folgenden Features:
- Inkrementelle Aktualisierung für materialisierte Ansichten: Aktualisierungen für materialisierte Ansichten werden nach Möglichkeit inkrementell aktualisiert. Die inkrementelle Aktualisierung hat dieselben Ergebnisse wie die vollständige Neukompilierung. Das Update verwendet eine vollständige Aktualisierung, wenn Ergebnisse nicht inkrementell berechnet werden können. Siehe inkrementelle Aktualisierung für materialisierte Ansichten.
- Streampipelining: Um die Auslastung, den Durchsatz und die Latenz für Streamingdatenworkloads wie die Datenerfassung zu verbessern, werden Mikrobatches in eine Pipeline eingefügt. Anders ausgedrückt: Statt Mikrobatches sequenziell wie standardmäßiges Spark Structured Streaming auszuführen, werden serverlose DLT-Pipelines gleichzeitig Mikrobatches ausgeführt, was die Auslastung der Computeressourcen verbessert. Die Verwendung von Pipelines für Streams ist in serverlosen DLT-Pipelines standardmäßig aktiviert.
- Vertikale Automatische Skalierung: Serverlose DLT-Pipelines werden zur horizontalen Automatischen Skalierung durch Databricks erweiterte Automatische Skalierung hinzugefügt, indem automatisch die kosteneffizientesten Instanztypen zugeordnet werden, die Ihre Delta Live Tables-Pipeline ausführen können, ohne aufgrund von Fehlern außerhalb des Arbeitsspeichers fehlzuschlagen. Weitere Informationen finden Sie unter Was die automatische vertikale Skalierung?
Was ist die automatische vertikale Skalierung?
Bei der automatischen vertikalen Skalierung von serverlosen DLT-Pipelines werden automatisch die kostengünstigsten verfügbaren Instanztypen zugewiesen, die Delta Live Tables-Pipelineupdates ausführen können, ohne aufgrund von Fehlern wegen unzureichenden Arbeitsspeichers fehlzuschlagen. Bei der automatischen vertikalen Skalierung wird hochskaliert, wenn größere Instanzentypen erforderlich sind, um ein Pipelineupdate auszuführen, und herunterskaliert, wenn ermittelt wird, dass das Update mit kleineren Instanztypen ausgeführt werden kann. Die automatische vertikale Skalierung bestimmt, ob Treiberknoten, Workerknoten oder sowohl Treiber- als auch Workerknoten hoch- oder herunterskaliert werden sollen.
Die automatische vertikale Skalierung wird für alle serverlosen DLT-Pipelines verwendet, einschließlich Pipelines, die von materialisierten Sichten und Streamingtabellen von Databricks SQL verwendet werden.
Die automatische vertikale Skalierung funktioniert durch die Erkennung von Pipelineupdates, die aufgrund von Fehlern wegen unzureichenden Arbeitsspeichers fehlgeschlagen sind. Die vertikale automatische Skalierung weist größere Instanzentypen zu, wenn diese Fehler basierend auf den nicht mehr arbeitsspeicherfreien Daten erkannt werden, die aus dem fehlgeschlagenen Update gesammelt wurden. Im Produktionsmodus wird automatisch ein neues Update gestartet, das die neuen Computeressourcen verwendet. Im Entwicklungsmodus werden die neuen Computeressourcen verwendet, wenn Sie ein neues Update manuell starten.
Wenn die vertikale automatische Skalierung erkennt, dass der Speicher der zugeordneten Instanzen konsistent nicht ausgelastet ist, werden die Instanztypen, die im nächsten Pipelineupdate verwendet werden sollen, verkleinert.
Konvertieren einer vorhandenen Pipeline in serverlose Verwendung
Sie können vorhandene Pipelines, die mit Unity Catalog konfiguriert sind, in serverlose Pipelines konvertieren. Führen Sie die folgenden Schritte aus:
- Klicken Sie in der Randleiste auf Delta Live Tables .
- Klicken Sie in der Liste auf den Namen der gewünschten Pipeline.
- Klicken Sie auf Einstellungen.
- Aktivieren Sie das Kontrollkästchen neben Serverless.
- Klicken Sie auf " Speichern" und "Starten".
Wichtig
Wenn Sie „Serverlos“ aktivieren, werden alle Computeeinstellungen, die Sie für eine Pipeline konfiguriert haben, entfernt. Wenn Sie eine Pipeline wieder auf nicht serverlose Updates umstellen, müssen Sie die gewünschten Computeeinstellungen in die Pipelinekonfiguration neu konfigurieren.
Wie finde ich den DBU-Verbrauch einer serverlosen Pipeline?
Sie finden die DBU-Verbrauch serverloser DLT-Pipelines, indem Sie die abrechnungsfähige Verwendungstabelle abfragen, die Teil der Azure Databricks-Systemtabellen ist. Siehe Was ist der DBU-Verbrauch einer serverlosen DLT-Pipeline?.