Delen via


Uw database registreren in Unity Catalog

Belangrijk

Deze functie bevindt zich in Openbare Preview in de volgende regio's: westus, westus2, eastus, eastus2, centralus, southcentralus, northeurope, westeurope, australiaeast, brazilsouth, canadacentral, centralindia, southeastasia, uksouth.

Deze pagina legt uit hoe u uw Lakebase-database registreert als een alleen-lezen Unity Catalog-catalogus. Hiermee kunt u Unity Catalog-bevoegdheden gebruiken om gegevenstoegang te beheren en integraties zoals beheerde gegevenssynchronisatie te gebruiken.

Eigendom en machtigingen

  • Als de database niet bestaat, kan deze samen met de catalogus worden gemaakt. In dit geval volgt het eigendom van de objecten deze richtlijnen.
  • De maker van de catalogus moet bovendien bevoegdheden hebben CREATE CATALOG voor de Unity Catalog-metastore.

Een catalogus maken

Als u een database wilt registreren bij Unity Catalog, gebruikt u de Gebruikersinterface van Azure Databricks, API-aanroep, Python SDK of CLI.

UI (Gebruikersinterface)

  1. Klik op app-pictogram.Apps in de rechterbovenhoek en selecteer Lakebase Postgres.
  2. Klik op Geconfigureerd om de pagina Geconfigureerde instanties te openen.
  3. Selecteer uw database-exemplaar.
  4. Selecteer de pagina Catalogs in de zijbalk van de Lakebase-app.
  5. Klik op Catalogus toevoegen in de rechterbovenhoek.
  6. In het dialoogvenster Catalogus toevoegen :
    • Catalogusnaam: Voer de gewenste naam van de Unity Catalog-catalogus in.
    • Postgres-database: Selecteer een bestaande Postgres-database in de vervolgkeuzelijst (bijvoorbeeld databricks_postgres), of voer een nieuwe databasenaam in om deze samen met de catalogus te maken.
  7. Klik op Create.
  8. Klik na het maken op de catalogus in de lijst Catalogs om de weergave Catalogusverkenner weer te geven.

Python SDK

from databricks.sdk import WorkspaceClient
from databricks.sdk.service.database import DatabaseCatalog

# Initialize the Workspace client
w = WorkspaceClient()

# Register an existing database as a UC catalog
catalog = w.database.create_database_catalog(
    DatabaseCatalog(
        name="my_catalog",                    # Name of the UC catalog to create
        database_instance_name="my-instance", # Name of the database instance
        database_name="databricks_postgres",  # Name of the existing Postgres database
    )
)
print(f"Created database catalog: {catalog.name}")

# Create a new database and register it as a UC catalog
catalog = w.database.create_database_catalog(
    DatabaseCatalog(
        name="new_catalog",                   # Name of the UC catalog to create
        database_instance_name="my-instance", # Name of the database instance
        database_name="new_database",         # Name of the Postgres database to register (and optionally create)
        create_database_if_not_exists=True    # Create the database if it doesn't exist
    )
)
print(f"Created new database and catalog: {catalog.name}")

CLI (Command Line Interface)

# Register an existing database as a UC catalog
databricks database create-database-catalog my_catalog my-instance databricks_postgres

# Create a new database and register it as a UC catalog
databricks database create-database-catalog new_catalog my-instance new_database \
  --create-database-if-not-exists

curl

export PG_DATABASE_NAME="<name of the PG database to sync to UC>"
export CATLAOG_NAME="<name of UC catalog to create>"
// Optional
export CREATE_DATABASE_IF_NOT_EXISTS="<whether to create a new database>"
curl -X POST --header "Authorization: Bearer ${DATABRICKS_TOKEN}" https://$WORKSPACE/api/2.0/database/catalogs \
--data-binary @- << EOF
{
  "name": "$CATALOG_NAME",
  "database_name": "$PG_DATABASE_NAME",
  "instance_name": "$INSTANCE_NAME",
  "create_database_if_not_exists": "$CREATE_DATABASE_IF_NOT_EXISTS" // optional
}

Beperkingen

  • Databasenamen mogen alleen alfanumerieke of onderstrepingstekens bevatten. Namen van notitiedatabases kunnen geen afbreekstreepjes bevatten.
  • De catalogus die is gemaakt in Unity Catalog op basis van de database, heeft het kenmerk Alleen-lezen.
  • Database-exemplaren zijn gericht op één werkruimte en bieden geen ondersteuning voor toegang tussen werkruimten. Gebruikers kunnen deze tabellen in Catalog Explorer zien als ze beschikken over de vereiste Unity Catalog-machtigingen van andere werkruimten die zijn gekoppeld aan dezelfde metastore, maar ze hebben geen toegang tot de inhoud van de tabel.

Postgres-objecten in Unity Catalog verkennen via een databasecatalogus

Als u de catalogus wilt weergeven, moet u ervoor zorgen dat er een serverloze SQL Warehouse is gekoppeld.

  1. Klik op Catalogus in de zijbalk van de werkruimte.
  2. Klik in de catalogusbrowser op het cluster en selecteer een serverloze SQL Warehouse als uw rekenresource.
  3. Klik op Start en sluit.

Wanneer u de catalogus, schema's en tabellen opent, moeten synchronisaties automatisch worden geactiveerd. De gebruikersinterface kan echter gegevens in de cache opslaan om het aantal Postgres-aanvragen te verminderen, zodat nieuwe objecten mogelijk niet onmiddellijk worden weergegeven.

Als u een volledige vernieuwing wilt activeren, klikt u op Schemapictogram vernieuwen.

Een databasecatalogus verwijderen in Unity Catalog

U moet de eigenaar van een databasecatalogus of een metastore-beheerder zijn om deze te verwijderen.

Databricks raadt u aan eerst alle gesynchroniseerde tabellen uit de databasecatalogus te verwijderen. Elke brontabel kan alleen worden gebruikt om 20 gesynchroniseerde tabellen te maken en het kan drie dagen duren voordat gesynchroniseerde tabellen zijn opgeschoond in Unity Catalog nadat een databasecatalogus is verwijderd. Gesynchroniseerde tabellen die in behandeling zijn met verwijdering in Unity Catalog tellen mee voor de limiet van 20 gesynchroniseerde tabellen per brontabel.

Gebruik de Gebruikersinterface van Azure Databricks, Python SDK, CLI of API om een databasecatalogus te verwijderen.

UI (Gebruikersinterface)

  1. Klik op app-pictogram.Apps in de rechterbovenhoek en selecteer Lakebase Postgres.
  2. Klik op Geconfigureerd om de pagina Geconfigureerde instanties te openen.
  3. Selecteer uw database-exemplaar.
  4. Selecteer de pagina Catalogs in de zijbalk van de Lakebase-app.
  5. Voor de catalogus die u wilt verwijderen, klikt u op het Kebab-menu-icoon. aan de rechterkant van de regel.
  6. Klik op Verwijderen.

Python SDK

from databricks.sdk import WorkspaceClient

# Initialize the Workspace client
w = WorkspaceClient()

# Delete a database catalog
catalog_name = "my_catalog"
w.database.delete_database_catalog(name=catalog_name)
print(f"Deleted database catalog: {catalog_name}")

CLI (Command Line Interface)

# Delete a database catalog
databricks database delete-database-catalog my_catalog

curl

curl -X DELETE --header "Authorization: Bearer ${DATABRICKS_TOKEN}" https://$WORKSPACE/api/2.0/database/catalogs/$CATALOG_NAME

Nadat de catalogus is verwijderd, kunt u de postgres-database een andere naam geven of verwijderen.