Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als u een Lakebase-database registreert in Unity Catalog, wordt er een alleen-lezencatalogus gemaakt die uw Postgres-database vertegenwoordigt, waardoor geïntegreerde gegevensgovernance en cross-source analyses mogelijk zijn voor uw lakehouse- en transactionele workloads.
Waarom registreren in Unity Catalog
Registratie heeft verschillende voordelen:
Geïntegreerde governance: Pas de governancebesturingselementen van Unity Catalog, machtigingen, tracering van herkomst en auditlogboeken, toe op uw Lakebase-gegevens naast uw Lakehouse-gegevens.
Query's voor meerdere bronnen: query's uitvoeren op zowel Unity Catalog-tabellen als Lakebase-databases vanuit één SQL-interface, waardoor analyses worden ingeschakeld die transactionele en analytische gegevens combineren.
Gecentraliseerde detectie: Zoek en ontdek Lakebase-databases, -schema's en -tabellen via Catalog Explorer, samen met andere gegevensbronnen in uw werkruimte.
Geïntegreerde werkstromen: Gebruik Lakebase-gegevens in Azure Databricks dashboards en toepassingen zonder tussen contexten te schakelen of afzonderlijke verbindingen te beheren.
Hoe het werkt
Registratie maakt een alleen-lezen Unity Catalog-catalogus die uw Postgres-databasestructuur weerspiegelt en metagegevenstoegang biedt tot uw databaseobjecten (schema's, tabellen, weergaven) via de governancelaag van Unity Catalog.
U start registratie vanuit Catalog Explorer in plaats van vanuit de Lakebase-interface, die op natuurlijke wijze kan worden geïntegreerd met de werkstroom voor het maken van catalogi van Unity Catalog.
Na registratie:
- Uw Lakebase-database wordt weergegeven als een catalogus in Unity Catalog
- Machtigingen voor Unity Catalog bepalen wie de database kan bekijken en er query's op kan uitvoeren
- De catalogus blijft in alleen-lezen modus; u beheert de feitelijke database via Lakebase
Vereiste voorwaarden
- Een bestaand Lakebase-project met ten minste één database
-
CREATE CATALOGbevoegdheden voor de Unity Catalog-metastore - Een serverloze SQL Warehouse om een query uit te voeren op de geregistreerde catalogus. Pro- en klassieke SQL Warehouses worden niet ondersteund en retourneren een machtigingsfout.
Important
Lakebase-catalogi in Unity Catalog vereisen een serverloze SQL Warehouse. Query's uitvoeren met een Pro- of klassiek SQL Warehouse retourneert een PERMISSION_DENIED fout. Open in de SQL-editor de vervolgkeuzelijst Warehouse en selecteer een serverloze magazijn voordat u een query uitvoert.
Een database registreren
UI (Gebruikersinterface)
- Gebruik de app-switcher om naar Analytics en AI te gaan.
- Klik in Catalog Explorer op de plusknop en maak een catalogus.
- Voer een catalogusnaam in (bijvoorbeeld
lakebase_catalog). - Selecteer Lakebase Postgres als catalogustype en selecteer vervolgens de optie Voor automatisch schalen .
- Selecteer uw project, vertakking en Postgres-database.
- Klik op Create.
De catalogus wordt weergegeven in Catalog Explorer, waar u schema's, tabellen en weergaven kunt vinden en query's kunt uitvoeren met behulp van SQL Warehouses.
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());
curl
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"
}
}'
Hiermee wordt een langlopende bewerking geretourneerd. Poll het geretourneerde name veld totdat done: true. Zie Langlopende bewerkingen. Zie Verificatie voor het instellen van verificatie.
Geregistreerde databases verkennen
Ga na de registratie naar uw catalogus in Catalog Explorer om schema's, tabellen en weergaven te vinden. Klik op een tabel om schemadetails, voorbeeldgegevens en herkomstgegevens weer te geven.
Unity Catalog synchroniseert automatisch metagegevens uit uw Lakebase-database. Wanneer u tabellen toevoegt of wijzigt in Lakebase, vernieuwt u de catalogusweergave om updates weer te geven.
Registratiestatus controleren
De huidige registratiegegevens voor een catalogus programmatisch ophalen:
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());
curl
curl "https://your-workspace.cloud.databricks.com/api/2.0/postgres/catalogs/my-catalog" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
Query's uitvoeren op geregistreerde databases
Query's uitvoeren op geregistreerde Lakebase-databases met behulp van SQL-warehouses of een hulpprogramma dat verbinding maakt met Unity Catalog:
-- 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;
De alleen-lezen catalogus zorgt ervoor dat query's uw Lakebase-database niet wijzigen via Unity Catalog. Als u gegevens wilt wijzigen, gebruikt u de Lakebase SQL Editor of maakt u rechtstreeks verbinding met uw database.
Machtigingen en toegangsbeheer
Machtigingen voor Unity Catalog beheren de toegang tot geregistreerde Lakebase-databases:
- Cataloguseigendom: de gebruiker die de database registreert, wordt de cataloguseigenaar
-
Leestoegang: Anderen toegang verlenen
USE CATALOGenSELECTbevoegdheden geven om query's uit te voeren op de database - Metastore-beheerder: Metastore-beheerders kunnen alle geregistreerde catalogi beheren
Toegang verlenen tot een geregistreerde database:
-- 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`;
Machtigingen die zijn ingesteld in Unity Catalog bepalen het toegangsniveau via SQL-warehouses. Directe verbindingen met uw Lakebase-database maken onafhankelijk gebruik van Postgres-rollen en -machtigingen.
Registratie van een database ongedaan maken
Als u de registratie ongedaan maakt, wordt de catalogus uit Unity Catalog verwijderd, maar heeft dit geen invloed op uw Lakebase-database. De database blijft toegankelijk via Lakebase en directe Postgres-verbindingen.
UI (Gebruikersinterface)
Selecteer de catalogus in Catalog Explorer, klik op het en selecteer Verwijderen.
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();
curl
curl -X DELETE "https://your-workspace.cloud.databricks.com/api/2.0/postgres/catalogs/my-catalog" \
-H "Authorization: Bearer ${DATABRICKS_TOKEN}"
Opmerking
Als u gesynchroniseerde tabellen hebt gemaakt uit de geregistreerde database, verwijdert u deze tabellen eerst. Elke brontabel kan worden gebruikt om maximaal 20 gesynchroniseerde tabellen te maken, en gesynchroniseerde tabellen die in afwachting van verwijdering zijn, tellen mee voor deze limiet.
Beperkingen
Alleen-lezentoegang: Catalogi die zijn geregistreerd bij Lakebase-databases zijn alleen-lezen. U kunt geen gegevens wijzigen via Unity Catalog-query's.
Serverloze SQL Warehouse vereist: u kunt alleen query's uitvoeren op een geregistreerde Lakebase-catalogus met behulp van een serverloze SQL Warehouse. Pro- en klassieke SQL Warehouses bieden geen ondersteuning voor deze functie.
Individuele database per catalogus: Elke Unity Catalog-catalogus vertegenwoordigt één Lakebase-database. Als u meerdere databases beschikbaar wilt maken, moet u deze afzonderlijk registreren.
Synchronisatie van metagegevens: Unity Catalog slaat metagegevens in de cache op om Postgres-aanvragen te verminderen. Nieuwe objecten worden mogelijk niet onmiddellijk weergegeven. Klik op
om een volledige vernieuwing te activeren.
Registratie van vertakte databases wordt niet ondersteund: u kunt een vertakte database niet registreren als een afzonderlijke Unity Catalog-catalogus. Wanneer u een vertakking maakt van een database die al is geregistreerd in Unity Catalog, neemt de vertakking de metagegevens van de bovenliggende registratie over. Hierdoor mislukt de registratie van nieuwe catalogussen.