Använda Lakebase med Databricks-appar

Viktigt!

Lakebase Autoscaling är den senaste versionen av Lakebase, med automatisk skalningsberäkning, skalning till noll, förgrening och omedelbar återställning. Information om regioner som stöds finns i Regiontillgänglighet. Om du är en Lakebase Provisioned-användare kan du läsa Lakebase Provisioned.

Med Databricks Apps kan du skapa och distribuera interaktiva program direkt på din Azure Databricks arbetsyta. Genom att lägga till Lakebase som en resurs får din app en fullständigt hanterad Postgres-serverdel. Azure Databricks skapar ett huvudnamn för tjänsten för din app, ger den en matchande Postgres-roll och matar in anslutningsinformation som miljövariabler. Appen ansluter till en fullständigt hanterad Postgres-databas utan att hantera autentiseringsuppgifter eller anslutningssträngar.

Arkitekturdiagram som visar klient-, Databricks-appar och LKB-integrering

Den här självstudien beskriver hur du distribuerar en mallapp som är ansluten till en Lakebase-databas. I slutet har du en app som är igång med data som du kan inspektera och fråga om direkt från Lakebase, och du kan också valfritt registrera i Unity Catalog tillsammans med dina lakehouse-data.

Förutsättningar

Kontrollera att du har följande innan du börjar:

  • Åtkomst till en Azure Databricks arbetsyta med Lakebase och serverlös beräkning aktiverat. Kontakta administratören för arbetsytan om det behövs.
  • Behörighet att skapa beräkningsresurser och appar.

Steg 1: Skapa och konfigurera en Lakebase-instans

Ett Lakebase-projekt är en hanterad Postgres-instans som appen ansluter till som en resurs. Projekten organiseras i grenar som var och en representerar en isolerad databasmiljö.

Information om hur du skapar ett Lakebase-projekt finns i Kom igång med Autoskalning av Lakebase. Lakebase skapar ditt projekt med en production gren och en databricks_postgres databas.

Steg 2: Skapa en Databricks-app

Azure Databricks innehåller tre appmallar för automatisk skalning som demonstrerar Lakebase-integrering med hjälp av en todos-app: Dash, Flask och Streamlit. Så här skapar du en app från en mall:

  1. I din Azure Databricks arbetsyta klickar du på App icon. app switcher och väljer Databricks Apps.
  2. Klicka på + Skapa app.
  3. Välj önskad mall på fliken Databas .

Flask + LKB-appmall för automatisk skalning

Steg 3: Konfigurera en databasresurs

Om du lägger till Lakebase som en resurs skapas ett huvudnamn för tjänsten med rätt databasbehörigheter och din anslutningsinformation matas in som miljövariabler i appen. På så sätt kan mallen ansluta till databasen automatiskt, utan några anslutningssträngar i koden.

I steget Konfigurera konfigurerar du följande inställningar.

  1. För App-resurser väljer du ditt Lakebase-projekt, din gren och din databas. Grennamn visas som ID:n. Information om hur du matchar ID:t med namn finns på projektets grenar.
  2. För Beräkningsstorlek väljer du Medel. Detta styr appserverberäkning, som är separat från Lakebase-databasberäkningen och skalar oberoende av varandra.

Databasresurskonfiguration som visar val av projekt, gren och databas

Mer information finns i Lägga till en Lakebase-resurs i en Databricks-app.

Steg 4: Granska auktoriseringar

Varje Databricks-app körs som sitt eget huvudnamn för tjänsten, en dedikerad identitet som är separat från alla enskilda användare. När du ansluter Lakebase som en resurs skapar Azure Databricks en matchande Postgres-roll för tjänstens huvudnamn och ger den fullständig databasåtkomst. Ingen manuell rollkonfiguration krävs.

Auktoriseringsgranskning som visar behörigheter för tjänstehuvudkonto

Steg 5: Namnge din app och installera

Lakebase använder appnamnet för att generera ett schemanamn i formatet {app-name}_schema_{service-principal-id} (bindestreck som tagits bort från ID:t). Du kan inte ändra appnamnet när du har skapat det, men du kan byta namn på schemat senare. Mallen har lakebase-autoscaling-app som standardinställning.

Klicka på Skapa app för att skapa appen.

Steg 6: Distribuera appen

När du har skapat appen startar beräkningen automatiskt och din app distribueras på cirka 2–3 minuter utan ytterligare åtgärder. När appstatusen visas Körs klickar du på URL:en bredvid den för att öppna appen.

Appöversikt som visar körningsstatus och aktiv beräkning

Steg 7: Verifiera integreringen

Lägg till några todos i din app. Öppna Tabeller i Lakebase-projektet och välj tabellen todos under appens schema. Appens serviceprincipal skrev dessa rader med hjälp av anslutningsinformationen som injicerades i steg 3.

LKB-tabellvy som visar

Om du vill köra frågor mot data direkt använder du SQL-redigeraren i ditt Lakebase-projekt. Eftersom Lakebase skalas till noll när den är inaktiv kan det ta några sekunder att svara på den första frågan efter en lång paus. Andra anslutningsalternativ finns i Ansluta till databasen.

Steg 8: Fråga via Unity Catalog (valfritt)

Som standard är appens Lakebase-data tillgängliga direkt via Postgres-anslutningar. Genom att registrera den i Unity Catalog blir den frågebar tillsammans med dina lakehouse-data med hjälp av Standard Databricks SQL. Du kan sedan ansluta appens transaktionstabeller till Delta-tabeller i samma fråga.

Om du vill registrera dig öppnar du Katalogutforskaren och skapar en ny katalog. Välj Lakebase Postgres som katalogtyp, välj Autoskalning och välj samma projekt och gren som din app. Mer information finns i Registrera databasen i Unity Catalog .

Observera att schemanamn i Unity Catalog bevarar bindestreck från appnamnet. Både katalog- och schemanamnen kräver backtick-citat:

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

Lära sig mer