Konfigurieren einer serverlosen Pipeline

Serverless-Pipelines führen Lakeflow Spark Declarative Pipelines auf von Azure Databricks verwalteten Rechenressourcen aus, wodurch der Großteil der Infrastrukturkonfiguration entfällt.

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 Klassisches Compute für Pipelines konfigurieren und Lakeflow Spark Declarative Pipelines mit dem bestehenden Hive-Metastore verwenden.

Hinweis

  • Serverlose Pipelines verwenden immer Unity-Katalog. Siehe Verwenden des Unity-Katalogs mit Pipelines.
  • Informationen zu Beschränkungen der serverlosen Verarbeitung finden Sie unter Beschränkungen der serverlosen Verarbeitung. Die dort beschriebenen Trigger-Einschränkungen von Structured Streaming gelten nicht für die Pipelinemodi von Lakeflow Spark Declarative Pipelines. Serverlose Pipelines unterstützen ausgelöste, fortlaufende und Echtzeitmodi. Siehe Ausgelöste vs. Continuous Pipeline-Modus.
  • 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.
  • Wenn Sie eine Azure Private Link Verbindung mit Ihren serverlosen Lakeflow Spark Declarative Pipelines verwenden müssen, wenden Sie sich an Ihren Databricks-Vertreter.

Anforderungen

  • Ihr Arbeitsbereich muss Unity-Katalog aktiviert haben, um serverlose Pipelines zu verwenden.

Von Bedeutung

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. Wenn Sie eine neue Pipeline erstellen, wird standardmäßig „serverless“ verwendet. Informationen zum Konfigurieren einer serverlosen Pipeline finden Sie unter Konfigurieren von Pipelines.

Sie können auch vorhandene Pipelines konvertieren, die mit Dem Unity-Katalog konfiguriert sind, um serverlos zu verwenden. Siehe Konvertieren einer vorhandenen Pipeline zur Nutzung von serverlosen Diensten.

Weitere Konfigurationsüberlegungen

Die folgenden Konfigurationsoptionen stehen auch für serverlose Pipelines zur Verfügung:

  • Sie können den Pipelinemodus Fortlaufend verwenden, wenn Sie Pipelines in der Produktion ausführen. Siehe Ausgelöste vs. Continuous Pipeline-Modus.
  • 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:
  • Verwenden Sie den Preview-Kanal, um Ihre Pipeline mit ausstehenden Laufzeitänderungen von Lakeflow Spark Declarative Pipelines zu testen und um neue Features auszuprobieren.
  • Deklarieren Sie externe Python Abhängigkeiten über die Umgebungseinstellungen der Pipeline. Das manuelle Neustarten des Python Prozesses (dbutils.library.restartPython()) wird nicht unterstützt, sodass Sie Abhängigkeiten zur Laufzeit nicht installieren oder neu laden können. Siehe Verwalten von Abhängigkeiten für Python-Pipelines.

Serverlose Nutzungsrichtlinie

Von Bedeutung

Dieses Feature befindet sich in der Public Preview.

Serverlose Nutzungsrichtlinien ermöglichen Ihrer Organisation, benutzerdefinierte Tags auf serverlose Verwendung für eine differenzierte Abrechnungszuordnung anzuwenden. Nachdem Sie das Kontrollkästchen "Serverless " aktiviert haben, wird die Einstellung für die Verwendungsrichtlinie angezeigt, in der Sie die Richtlinie auswählen können, die Sie auf die Pipeline anwenden möchten. Die Tags werden von der Richtlinie für die serverlose Nutzung geerbt und können nur von Arbeitsbereichsadministratoren bearbeitet werden.

Hinweis

Nachdem Ihnen eine serverlose Nutzungsrichtlinie zugewiesen wurde, 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 serverlosen Verwendungsrichtlinien finden Sie unter Attributverwendung mit serverlosen Verwendungsrichtlinien.

Auswählen eines Leistungsmodus

Für ausgelöste Pipelines können Sie den serverlosen Computeleistungsmodus auswählen, indem Sie die Einstellung "Leistungsoptimiert " im Pipelineplaner verwenden. Wenn diese Einstellung deaktiviert ist, verwendet die Pipeline den Standardleistungsmodus. Der Standardleistungsmodus ist so konzipiert, dass die Kosten für Workloads reduziert werden, bei denen eine etwas höhere Startlatenz akzeptabel ist. Serverlose Workloads, die den Standardleistungsmodus verwenden, beginnen in der Regel innerhalb von vier bis sechs Minuten nach dem Auslösen, abhängig von der Berechnungsverfügbarkeit und optimierter Planung.

Wenn leistungsoptimiert aktiviert ist, wird Ihre Pipeline für eine gesteigerte Leistung optimiert, was dazu führt, dass zeitkritische Workloads schneller gestartet und ausgeführt werden.

Beide Modi verwenden dieselbe SKU, aber der Standardleistungsmodus verbraucht weniger DBUs, was eine geringere Rechennutzung widerspiegelt.

Hinweis

Um den Standardleistungsmodus in fortlaufenden Pipelines zu verwenden, wenden Sie sich an Ihr Databricks-Kontoteam.

Serverlose Pipeline-Merkmale

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 liefert dieselben Ergebnisse wie die vollständige Neuberechnung. 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 beim standardmäßigen Spark Structured Streaming auszuführen, führen serverlose Lakeflow Spark Declarative Pipelines Mikrobatches parallel aus, was die Nutzung der Rechnerressourcen verbessert. Stream-Pipelining ist standardmäßig in serverlosen Pipelines aktiviert.
  • Vertikale automatische Skalierung: Serverlose Lakeflow Spark Declarative Pipelines ergänzen die horizontale automatische Skalierung durch die verbesserte automatische Databricks-Skalierung, indem automatisch die kostengünstigsten Instanztypen zugeordnet werden, die die Pipeline ohne Fehler wegen zu wenig Speicher ausführen können. Weitere Informationen finden Sie unter Was ist vertikale Autoskalierung?

Konvertiere eine vorhandene Pipeline zur serverlosen Nutzung

Sie können vorhandene Pipelines, die mit Unity Catalog konfiguriert sind, in serverlose Pipelines konvertieren. Führen Sie die folgenden Schritte aus:

  1. Klicken Sie in der Randleiste Ihres Azure Databricks Arbeitsbereichs auf Jobs & Pipelines.
  2. Klicken Sie auf den Namen der Pipeline.
  3. Klicken Sie auf Einstellungen.
  4. Klicken Sie in der rechten Randleiste unter "Berechnen" auf " Bleistiftsymbol.
  5. Aktivieren Sie das Kontrollkästchen neben Serverless.
  6. Klicken Sie auf "Speichern".

Von Bedeutung

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.

Ermitteln der DBU-Verwendung einer serverlosen Pipeline

Sie können die DBU-Nutzung von serverlosen Lakeflow Spark-Deklarationspipelines ermitteln, indem Sie die Tabelle für abrechnungsfähige Nutzung abfragen, die Teil der Systemtabellen von Azure Databricks ist. Sehen Sie sich an, was der DBU-Verbrauch einer serverlosen Pipeline ist?.