Registrace databáze Lakebase v katalogu Unity

Registrace databáze Lakebase v katalogu Unity vytvoří katalog pouze pro čtení, který reprezentuje vaši databázi Postgres, a umožňuje sjednocenou správu dat a analýzy napříč zdroji v rámci vašich lakehouse a transakčních pracovních zátěží.

Proč se zaregistrovat v katalogu Unity

Registrace má několik výhod:

Jednotné řízení: Aplikujte řídicí prvky Unity Catalog – oprávnění, sledování linie a protokoly auditu – na vaše data z Lakebase spolu s daty lakehouse.

Dotazy mezi zdroji: Dotazování tabulek katalogu Unity i databází Lakebase z jednoho rozhraní SQL umožňující analýzu, která kombinují transakční a analytická data.

Centralizované zjišťování: Vyhledávejte a objevujte databáze Lakebase, schémata a tabulky prostřednictvím Průzkumníka katalogu spolu s dalšími zdroji dat ve vašem pracovním prostoru.

Integrované pracovní postupy: Používejte data Lakebase v řídicích panelech a aplikacích Azure Databricks bez přepínání kontextů nebo správy samostatných připojení.

Jak to funguje

Registrace vytvoří katalog katalogu Unity jen pro čtení, který zrcadlí strukturu databáze Postgres a poskytuje přístup metadat k databázovým objektům (schémata, tabulky, zobrazení) prostřednictvím vrstvy zásad správného řízení katalogu Unity.

Registraci zahájíte z Průzkumníka katalogu místo z rozhraní Lakebase, které se přirozeně integruje s pracovním postupem vytváření katalogu Unity.

Po registraci:

  • Databáze Lakebase se zobrazí jako katalog v katalogu Unity.
  • Řízení oprávnění katalogu Unity, kdo může zobrazit a dotazovat databázi
  • Katalog zůstává jen pro čtení – spravujete skutečnou databázi prostřednictvím Lakebase.

Požadavky

  • Existující projekt Lakebase s alespoň jednou databází
  • CREATE CATALOG oprávnění v metastore katalogu Unity
  • Bezserverový datový sklad SQL pro dotazování registrovaného katalogu. Pro a Classic SQL Warehouse nejsou podporovány a vrací chybu oprávnění.

Důležité

Katalogy Lakebase v katalogu Unity vyžadují bezserverový SQL Warehouse. Dotazování pomocí Sql Warehouse verze Pro nebo Classic vrátí PERMISSION_DENIED chybu. V editoru SQL otevřete rozevírací seznam skladu a před spuštěním dotazu vyberte bezserverový sklad.

Registrace databáze

uživatelské rozhraní

  1. Pomocí přepínače aplikací přejděte na Analýzy a AI.
  2. V Průzkumníku katalogu klikněte na tlačítko plus a vytvořte katalog.
  3. Zadejte název katalogu (například lakebase_catalog).
  4. Jako typ katalogu vyberte Lakebase Postgres a pak vyberte možnost Automatické škálování .
  5. Vyberte svůj projekt, větev a databázi Postgres.
  6. Klikněte na Vytvořit.

Registrace databáze LKB v katalogu Unity

Katalog se zobrazí v Průzkumníku katalogu, kde můžete najít schémata, tabulky a zobrazení a dotazovat se na ně pomocí sql warehouse.

Python SDK

from databricks.sdk import WorkspaceClient
from databricks.sdk.service.postgres import Catalog, CatalogCatalogSpec

w = WorkspaceClient()

catalog = w.postgres.create_catalog(
    catalog=Catalog(spec=CatalogCatalogSpec(
        postgres_database="mydb",
        branch="projects/my-project/branches/production",
    )),
    catalog_id="my-catalog",
).wait()

print(f"Catalog registered: {catalog.name}")

Java SDK

import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.service.postgres.*;

WorkspaceClient w = new WorkspaceClient();

Catalog catalog = w.postgres().createCatalog(
    new CreateCatalogRequest()
        .setCatalogId("my-catalog")
        .setCatalog(new Catalog()
            .setSpec(new CatalogCatalogSpec()
                .setPostgresDatabase("mydb")
                .setBranch("projects/my-project/branches/production"))))
    .waitForCompletion();

System.out.println("Catalog registered: " + catalog.getName());

kroucení

curl -X POST "https://your-workspace.cloud.databricks.com/api/2.0/postgres/catalogs?catalog_id=my-catalog" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "spec": {
      "postgres_database": "mydb",
      "branch": "projects/my-project/branches/production"
    }
  }'

Tím se vrátí dlouhotrvající operace. Opakovaně dotazujte vrácené pole name dokud nedojde k done: true. Viz dlouhotrvající operace. Nastavení ověřování najdete v tématu Ověřování.

Prozkoumání registrovaných databází

Po registraci přejděte do katalogu v Průzkumníku katalogů a vyhledejte schémata, tabulky a zobrazení. Kliknutím na libovolnou tabulku zobrazíte podrobnosti schématu, ukázková data a informace o rodokmenu.

Katalog Unity automaticky synchronizuje metadata z databáze Lakebase. Když přidáváte nebo upravujete tabulky v Lakebase, aktualizujte zobrazení katalogu a zobrazte aktualizace.

Kontrola stavu registrace

Jak načíst aktuální podrobnosti o registraci pro katalog programově:

Python SDK

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

catalog = w.postgres.get_catalog("catalogs/my-catalog")
print(f"Database: {catalog.status.postgres_database}")
print(f"Branch: {catalog.status.branch}")

Java SDK

import com.databricks.sdk.WorkspaceClient;
import com.databricks.sdk.service.postgres.Catalog;

WorkspaceClient w = new WorkspaceClient();

Catalog catalog = w.postgres().getCatalog("catalogs/my-catalog");
System.out.println("Database: " + catalog.getStatus().getPostgresDatabase());
System.out.println("Branch: " + catalog.getStatus().getBranch());

kroucení

curl "https://your-workspace.cloud.databricks.com/api/2.0/postgres/catalogs/my-catalog" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}"

Dotazování registrovaných databází

Dotazování registrovaných databází Lakebase pomocí SQL Warehouse nebo libovolného nástroje, který se připojuje ke katalogu Unity:

-- Query a registered Lakebase database
SELECT * FROM chatbot_catalog.public.conversations
WHERE created_at >= current_date - INTERVAL 7 DAYS;

-- Join Lakebase and lakehouse data
SELECT
  c.conversation_id,
  c.user_id,
  c.agent_response,
  u.user_name,
  u.subscription_tier
FROM chatbot_catalog.public.conversations c
JOIN main.user_analytics.users u
  ON c.user_id = u.user_id;

Katalog jen pro čtení zajišťuje, že dotazy neupravují databázi Lakebase prostřednictvím katalogu Unity. Pokud chcete upravit data, použijte Editor SQL Lakebase nebo se připojte přímo k databázi.

Oprávnění a řízení přístupu (IAM)

Oprávnění katalogu Unity řídí přístup k registrovaným databázím Lakebase:

  • Vlastnictví katalogu: Uživatel, který databázi zaregistruje, se stane vlastníkem katalogu.
  • Přístup pro čtení: Udělení USE CATALOG oprávnění a SELECT povolení dotazování databáze ostatním uživatelům
  • Správce metastoru: Správci metastoru můžou spravovat všechny registrované katalogy.

Udělení přístupu k registrované databázi:

-- Grant read access to a group
GRANT USE CATALOG ON CATALOG chatbot_catalog TO `ai-engineering`;
GRANT SELECT ON CATALOG chatbot_catalog TO `ai-engineering`;

Oprávnění nastavená v katalogu Unity řídí přístup k dotazům prostřednictvím SQL Warehouse. Přímá připojení k databázi Lakebase používají nezávisle role a oprávnění Postgres.

Zrušení registrace databáze

Zrušení registrace odebere katalog z katalogu Unity, ale nemá vliv na databázi Lakebase. Databáze zůstává přístupná prostřednictvím lakebase a přímých připojení Postgres.

uživatelské rozhraní

Vyberte katalog v Průzkumníku katalogu, klikněte na ikonu kruhu Tečky a vyberte Odstranit.

Python SDK

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

w.postgres.delete_catalog("catalogs/my-catalog").wait()

Java SDK

import com.databricks.sdk.WorkspaceClient;

WorkspaceClient w = new WorkspaceClient();

w.postgres().deleteCatalog("catalogs/my-catalog").waitForCompletion();

kroucení

curl -X DELETE "https://your-workspace.cloud.databricks.com/api/2.0/postgres/catalogs/my-catalog" \
  -H "Authorization: Bearer ${DATABRICKS_TOKEN}"

Poznámka:

Pokud jste vytvořili synchronizované tabulky z registrované databáze, nejprve tyto tabulky odstraňte. Každá zdrojová tabulka se dá použít pouze pro vytvoření 20 synchronizovaných tabulek a synchronizované tabulky čekající na odstranění se také započítávají do tohoto limitu.

Omezení

Přístup jen pro čtení: Katalogy zaregistrované z databází Lakebase jsou jen pro čtení. Data nemůžete upravovat prostřednictvím dotazů katalogu Unity.

Vyžaduje se bezserverový SQL Warehouse: Můžete dotazovat pouze zaregistrovaný katalog Lakebase pomocí bezserverového SQL Warehouse. Pro a Classic SQL Warehouse tuto funkci nepodporují.

Jedna databáze na katalog: Každý katalog Unity představuje jednu databázi Lakebase. Pokud chcete zpřístupnit více databází, zaregistrujte je zvlášť.

Synchronizace metadat: Katalog Unity ukládá metadata do mezipaměti, aby se snížil počet požadavků Postgres. Nové objekty se nemusí zobrazit okamžitě. Kliknutím na Aktualizovat ikonu schématu aktivujete úplnou aktualizaci.

Registrace rozvětvené databáze není podporovaná: Není možné zaregistrovat rozvětvenou databázi jako samostatný katalog Unity. Když vytvoříte větev z databáze, která je již zaregistrovaná v katalogu Unity, zdědí tato větev metadata registrace nadřazeného objektu. To způsobí selhání registrace nového katalogu.

Další zdroje informací