Freigeben über


Verwenden der Lakebase mit Databricks-Apps

Von Bedeutung

Lakebase Autoscaling ist die neueste Version von Lakebase mit automatischer Berechnung, Skalierung bis Null, Verzweigung und sofortiger Wiederherstellung. Unterstützte Regionen finden Sie unter "Verfügbarkeit der Region". Wenn Sie ein Lakebase Provisioned-Benutzer sind, lesen Sie Lakebase Provisioned.

Mit Databricks-Apps können Sie interaktive Anwendungen direkt in Ihrem Arbeitsbereich erstellen und ausführen. Wenn Sie Lakebase als Ressource hinzufügen, verarbeitet Databricks die gesamte Authentifizierungskette: Ein Dienstprinzipal wird für Ihre App erstellt, eine übereinstimmende Postgres-Rolle gewährt, und Verbindungsdetails werden als Umgebungsvariablen eingefügt. Ihre App stellt eine Verbindung mit einer vollständig verwalteten Postgres-Datenbank ohne Verwaltung von Anmeldeinformationen oder Verbindungszeichenfolgen bereit.

Architekturdiagramm mit Client-, Databricks-Apps und Lakebase-Integration

Dieser Leitfaden führt Sie durch die Bereitstellung einer Vorlagen-App, die mit einer Lakebase-Datenbank verbunden ist. Am Ende verfügen Sie über eine ausgeführte App mit Daten, die Sie direkt aus Lakebase überprüfen und abfragen können, und optional in Unity Catalog neben Ihren Lakehouse-Daten registrieren.

Hinweis

Sie benötigen Zugriff auf einen Databricks-Arbeitsbereich mit aktivierter Lakebase (wenden Sie sich bei Bedarf an Ihren Arbeitsbereichsadministrator), die Berechtigung zum Erstellen von Computeressourcen und Apps sowie grundlegende Kenntnisse mit Python und SQL.

Schritt 1: Bereitstellen einer Lakebase-Instanz

Ein Lakebase-Projekt ist eine verwaltete Postgres-Instanz, mit der Ihre App eine Verbindung als Ressource herstellt. Projekte sind in Verzweigungen unterteilt, die jeweils eine isolierte Datenbankumgebung darstellen.

Bevor Sie Ihr Projekt erstellen, stellen Sie sicher, dass Ihr Arbeitsbereich das serverlose Computing aktiviert hat. Wenn Sie diese Änderung nicht selbst vornehmen können, wenden Sie sich an Ihren Administrator.

So erstellen Sie ein Projekt: App-Symbol. App-Switcher → Lakebaseautomatische SkalierungProjekt erstellen → Standard akzeptieren

Ihr Projekt wird mit einem production Branch und einer databricks_postgres Datenbank erstellt.

Schritt 2: Erstellen einer Databricks-App anhand einer Vorlage

Vorlagen behandeln die Infrastrukturkomplexität für Sie: Verbindungspooling, OAuth-Tokenaktualisierung und Fehlerbehandlung sind bereits integriert. Wenn Sie stattdessen eine vollständig benutzerdefinierte App benötigen, lesen Sie Eigene schreiben.

Es stehen drei Autoscaling-To-do-App-Vorlagen für Lakebase zur Verfügung: Dash, Flask und Streamlit. Navigieren Sie zu "Neue > App ", um die App-Erstellungsschnittstelle zu öffnen, und wählen Sie ihre bevorzugte Vorlage auf der Registerkarte "Datenbank " aus.

Flask + Lakebase Autoscaling-App-Vorlage

Schritt 3: Konfigurieren der Datenbankressource

Das Hinzufügen von Lakebase als Ressource bewirkt zwei Dinge: Es erstellt einen Dienstprinzipal mit den richtigen Datenbankberechtigungen und fügt Ihre Verbindungsdetails als Umgebungsvariablen in die App ein. Auf diese Weise kann die Vorlage automatisch ohne Verbindungszeichenfolgen im Code eine Verbindung mit Ihrer Datenbank herstellen.

Wählen Sie im Schritt "Konfigurieren" die Datenbank und die Berechnungsgröße für Ihre App aus. Ausführliche Informationen zum Hinzufügen von Datenbankressourcen finden Sie unter Hinzufügen einer Lakebase-Ressource zu einer Databricks-App.

Datenbankressourcenkonfiguration mit Projekt-, Verzweigungs- und Datenbankauswahl

Wählen Sie unter App-Ressourcen Ihr Lakebase-Projekt, Ihre Verzweigung und Datenbank aus. Branchnamen werden als IDs angezeigt: Wenn Sie die Standardwerte in Schritt 1 akzeptiert haben, haben Sie nur eine Branch (Produktion) zur Auswahl. Informationen zu anderen Projekten oder zum Abgleichen von IDs mit Namen finden Sie auf der Seite mit den Verzweigungen Ihres Projekts.

Wählen Sie unter "Berechnen der Größe" für diesen Leitfaden "Mittel" aus. Beachten Sie, dass der App-Server unabhängig von der Lakebase-Datenbankberechnung berechnet wird, die unabhängig skaliert wird.

Schritt 4: Überprüfen von Autorisierungen

Jede Databricks-App wird als ein eigener Dienstprinzipal ausgeführt, eine dedizierte Identität, die von allen Benutzern getrennt ist. Wenn Sie Lakebase als Ressource verbinden, erstellt Databricks automatisch eine entsprechende Postgres-Rolle für diesen Dienstprinzipal und gewährt dem Dienstprinzipal der App den erforderlichen Datenbankzugriff, um sich zu verbinden, ein eigenes Schema zu erstellen und Daten zu lesen und zu schreiben, ohne dass eine manuelle Rolleneinrichtung nötig ist.

Autorisierungsüberprüfung mit Dienstprinzipalberechtigungen

Mit der Benutzerautorisierung (Vorschau) kann Ihre App im Namen des angemeldeten Benutzers und nicht im eigenen Dienstprinzipal handeln, was nützlich ist, wenn unterschiedliche Benutzer je nach ihren individuellen Berechtigungen unterschiedliche Daten sehen sollten. Für diese Vorlage sind keine zusätzlichen Benutzerbereiche erforderlich. Informationen zum Aktivieren des Benutzerzugriffs im Auftrag des Benutzers später finden Sie unter Benutzerautorisierung.

Schritt 5: Benennen Ihrer App und Installation

Der hier ausgewählte App-Name wird Teil des Schemanamens, den Lakebase automatisch in Ihrer Datenbank erstellt. Die Client-ID ist der Dienstprinzipal, der Ihrer App zugewiesen ist, wobei Bindestriche entfernt wurden. Sie können das Schema später in Lakebase umbenennen, der App-Name selbst kann jedoch nach der Erstellung nicht mehr geändert werden. Die Vorlage ist standardmäßig auf lakebase-autoscaling-app eingestellt.

App name:           lakebase-autoscaling-app

Service principal:  aeb6ff91-98ff-4752-af7d-fc6d4cf570d0

                                    ↓
                          (same ID, hyphens removed)

Schema name:        lakebase-autoscaling-app_schema_aeb6ff9198ff4752af7dfc6d4cf570d

Bestätigen oder ändern Sie den App-Namen, überprüfen Sie die vorgefüllte Beschreibung, und legen Sie optional eine serverlose Nutzungsrichtlinie fest. Klicken Sie auf "Installieren ", um die App-Konfiguration zu erstellen.

Schritt 6: Bereitstellen der App

Nachdem Sie auf "Installieren" geklickt haben, wird die Berechnung automatisch gestartet, und Ihre App wird ohne weitere Aktion bereitgestellt. Dies dauert 2-3 Minuten. Wenn der App-Status "Wird ausgeführt" angezeigt wird, klicken Sie auf die URL neben der App, um Ihre App zu öffnen. Den vollständigen Entwicklungsworkflow, einschließlich lokaler Entwicklung und erneute Bereitstellung, finden Sie unter Entwickeln von Databricks-Apps.

App-Übersicht über den Status

Verwenden Sie die Schaltfläche "Bereitstellen ", um nach dem Vornehmen von Codeänderungen erneut bereitzustellen. Wenn eine Bereitstellung fehlschlägt, überprüfen Sie die Registerkarte "Bereitstellungen ". Der Fehlgeschlagene Schritt (z. B. "Pakete installiert" oder "App gestartet") teilt Ihnen mit, wo sie suchen sollen.

Schritt 7: Überprüfen der Integration

Öffnen Sie Ihre App unter der bereitgestellten URL, damit Sie einige Aufgaben hinzufügen können. Öffnen Sie in Ihrem Lakebase-Projekt Tabellen , und wählen Sie die Todos-Tabelle unter dem App-Schema aus. Ihre Zeilen befinden sich dort, geschrieben vom Dienstprinzipal der App mithilfe der eingefügten Verbindungsdetails aus Schritt 3.

Lakebase Tables Ansicht mit Aufgaben, die von der App erfasst wurden

Verwenden Sie den SQL-Editor in Ihrem Lakebase-Projekt, um benutzerdefinierte Abfragen für die Daten auszuführen. Lakebase skaliert nach einer Zeit der Inaktivität auf Null, sodass nach einer Bestimmten Zeit die erste Anforderung einige Sekunden dauert, während die Datenbank warm wird. Weitere Verbindungsoptionen finden Sie unter "Herstellen einer Verbindung mit Ihrem Lakebase-Projekt".

Schritt 8: Abfragen des Unity-Katalogs (optional)

Standardmäßig sind die Lakebase-Daten Ihrer App über Postgres-Verbindungen direkt zugänglich. Durch die Registrierung im Unity-Katalog können Sie sie zusammen mit Ihren Lakehouse-Daten mithilfe von Standardmäßigem Databricks SQL abfragen, wodurch Verknüpfungen zwischen den Transaktionstabellen Ihrer App und Delta-Tabellen in derselben Abfrage aktiviert werden.

Öffnen Sie zum Registrieren den Katalog-Explorer, und erstellen Sie einen neuen Katalog. Wählen Sie Lakebase Postgres als Katalogtyp aus, wählen Sie Autoscaling und wählen Sie dasselbe Projekt und dieselbe Verzweigung wie Ihre App aus. Weitere Informationen finden Sie im Abschnitt Registrieren Ihrer Datenbank im Unity-Katalog.

Beachten Sie nach der Registrierung, dass Schemanamen im Unity-Katalog Bindestriche von Ihrem App-Namen beibehalten. Sowohl die Katalog- als auch die Schemanamen erfordern eine Backtick-Quotierung:

SELECT * FROM `your-catalog-name`.`lakebase-autoscaling-app_schema_aeb6ff9198ff4752af7dfc6d4cf570d`.todos;

Weitere Informationen