Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
Dieses Feature befindet sich in der öffentlichen Vorschau in den folgenden Regionen: westus, westus2, eastus, eastus2, centralus, southcentralus, northeurope, westeurope, australiaeast, brazilsouth, canadacentral, centralindia, southeastasia, uksouth.
Auf dieser Seite wird erläutert, wie Sie Ihre Lakebase-Datenbank als schreibgeschützten Unity-Katalogkatalog registrieren. Auf diese Weise können Sie Unity-Katalogberechtigungen verwenden, um den Datenzugriff zu verwalten und Integrationen wie die Synchronisierung verwalteter Daten zu nutzen.
Besitz und Berechtigungen
- Wenn die Datenbank nicht vorhanden ist, kann sie zusammen mit dem Katalog erstellt werden. In diesem Fall folgt der Besitz der Objekte diesen Richtlinien.
- Der Katalogersteller muss außerdem über
CREATE CATALOG-Berechtigungen im Unity Catalog-Metastore verfügen.
Erstellen eines Katalogs
Verwenden Sie zum Registrieren einer Datenbank im Unity-Katalog die Azure Databricks-Benutzeroberfläche, den API-Aufruf, das Python SDK oder die CLI.
Benutzeroberfläche
- Klicken Sie auf " Berechnen" in der Arbeitsbereich-Randleiste.
- Wählen Sie auf der Registerkarte "Datenbankinstanzen " Ihre Datenbankinstanz aus.
- Klicken Sie auf der Registerkarte "Kataloge " auf " Katalog erstellen".
- Sie können eine vorhandene Datenbank als Unity-Katalogkatalog registrieren oder eine neue datenbank erstellen. Verwenden Sie eine der folgenden Optionen:
- Um eine vorhandene Datenbank zu verwenden: Geben Sie den gewünschten Unity-Katalognamen und den Namen der vorhandenen Postgres-Datenbank ein. Die Standarddatenbank
databricks_postgreskann als Datenbankname verwendet werden. - Um gleichzeitig eine neue Postgres-Datenbank und einen Unity-Katalog zu erstellen: Geben Sie den gewünschten Katalognamen ein, und aktivieren Sie "Neue Datenbank erstellen".
- Um eine vorhandene Datenbank zu verwenden: Geben Sie den gewünschten Unity-Katalognamen und den Namen der vorhandenen Postgres-Datenbank ein. Die Standarddatenbank
- Klicken Sie auf "Erstellen".
- Klicken Sie nach der Erstellung in der Katalogliste auf den Katalog, um die Katalog-Explorer-Ansicht anzuzeigen.
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}")
Befehlszeilenschnittstelle (CLI)
# 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
}
Einschränkungen
- Datenbanknamen dürfen nur alphanumerische oder unterstriche Zeichen enthalten. Die Namen der Notizdatenbank können keine Bindestriche enthalten.
- Der Katalog, der im Unity-Katalog auf Basis der Datenbank erstellt wurde, ist schreibgeschützt.
Erkunden von Postgres-Objekten im Unity-Katalog über einen Datenbankkatalog
Um den Katalog anzuzeigen, stellen Sie sicher, dass ein ausgeführtes serverloses SQL Warehouse angefügt ist.
- Klicken Sie auf " Katalog" in der Arbeitsbereich-Randleiste.
- Klicken Sie im Katalogbrowser auf den Cluster, und wählen Sie ein ausgeführtes serverloses SQL Warehouse als Rechenressource aus.
- Klicken Sie auf "Start", und schließen Sie sie.
Beim Öffnen des Katalogs, schemas und Tabellen sollten Synchronisierungen automatisch ausgelöst werden. Die Benutzeroberfläche kann jedoch Daten zwischenspeichern, um die Anzahl der Postgres-Anforderungen zu verringern, sodass neue Objekte möglicherweise nicht sofort angezeigt werden.
Um eine vollständige Aktualisierung auszulösen, klicken Sie auf
.
Löschen eines Datenbankkatalogs im Unity-Katalog
Sie müssen der Besitzer eines Datenbankkatalogs oder eines Metastore-Administrators sein, um ihn zu löschen.
Databricks empfiehlt, zuerst alle synchronisierten Tabellen aus dem Datenbankkatalog zu löschen. Jede Quelltabelle kann nur verwendet werden, um 20 synchronisierte Tabellen zu erstellen, und es kann bis zu drei Tage dauern, bis synchronisierte Tabellen im Unity-Katalog bereinigt werden, nachdem ein Datenbankkatalog gelöscht wurde. Synchronisierte Tabellen, deren Löschung im Unity-Katalog aussteht, werden auf das Limit von 20 synchronisierten Tabellen pro Quelltabelle angerechnet.
Verwenden Sie die Benutzeroberfläche von Azure Databricks, Python SDK, CLI oder API, um einen Datenbankkatalog zu löschen.
Benutzeroberfläche
- Klicken Sie auf " Katalog" in der Arbeitsbereich-Randleiste.
- Wählen Sie den Datenbankkatalog aus, den Sie aus dem Katalogbereich löschen möchten.
- Klicken Sie auf
und klicken Sie auf "Löschen".
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}")
Befehlszeilenschnittstelle (CLI)
# 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
Nachdem der Katalog gelöscht wurde, können Sie die Postgres-Datenbank umbenennen oder ablegen.