Partager via


Inscrire votre base de données dans le catalogue Unity

Important

Cette fonctionnalité est en préversion publique dans les régions suivantes : westus, , westus2eastuseastus2, , centralus, southcentralus, , northeuropewesteurope, , australiaeastbrazilsouth, , canadacentral, centralindia, , . southeastasiauksouth

Cette page explique comment inscrire votre base de données Lakebase en tant que catalogue "Unity Catalog" en lecture seule. Cela vous permet d’utiliser des privilèges de catalogue Unity pour gérer l’accès aux données et tirer parti des intégrations telles que la synchronisation des données managées.

Propriété et autorisations

  • Si la base de données n’existe pas , elle peut être créée avec le catalogue. Dans ce cas, la propriété des objets suit ces instructions.
  • Le créateur du catalogue doit également disposer de privilèges CREATE CATALOG sur le métastore du Unity Catalog.

Créer un catalogue

Pour inscrire une base de données auprès de Unity Catalog, utilisez l’interface utilisateur Azure Databricks, l’appel d’API, le SDK Python ou l’interface CLI.

IU

  1. Cliquez sur Calcul dans la barre latérale de l’espace de travail.
  2. Sous l’onglet Instances de base de données , sélectionnez votre instance de base de données.
  3. Sous l’onglet Catalogues , cliquez sur Créer un catalogue.
  4. Vous pouvez enregistrer une base de données existante en tant que catalogue Unity Catalog ou en créer un nouveau. Utilisez l’une des options suivantes :
    • Pour utiliser une base de données existante : entrez le nom de catalogue Unity souhaité et le nom de la base de données Postgres existante. La base de données databricks_postgres par défaut peut être utilisée comme nom de base de données.
    • Pour créer une base de données Postgres et un catalogue catalogue Unity en même temps : entrez le nom de catalogue souhaité et activez Créer une base de données.
  5. Cliquez sur Créer.
  6. Après la création, cliquez sur le catalogue dans la liste Catalogues pour afficher la vue Explorateur de catalogues.

Kit de développement logiciel (SDK) Python

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}")

Interface de ligne de commande (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

friser

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
}

Limites

  • Les noms de base de données doivent contenir uniquement des caractères alphanumériques ou de soulignement. Notez que les noms de base de données ne peuvent pas inclure de traits d’union.
  • Le catalogue créé dans le catalogue Unity basé sur la base de données est en lecture seule.

Explorer les objets Postgres dans le catalogue Unity via un catalogue de bases de données

Pour afficher le catalogue, vérifiez que vous disposez d’un entrepôt SQL serverless en cours d’exécution attaché.

  1. Cliquez sur Catalogue dans la barre latérale de l’espace de travail.
  2. Dans le navigateur catalogue , cliquez sur le cluster et sélectionnez un entrepôt SQL serverless en cours d’exécution comme ressource de calcul.
  3. Cliquez sur Démarrer et fermer.

Lorsque vous ouvrez le catalogue, les schémas et les tables, les synchronisations doivent être déclenchées automatiquement. Toutefois, l’interface utilisateur peut mettre en cache les données pour réduire le nombre de requêtes Postgres, de sorte que les nouveaux objets ne s’affichent pas immédiatement.

Pour déclencher une actualisation complète, cliquez sur Actualiser l’icône de schéma.

Supprimer un catalogue de bases de données dans le catalogue Unity

Vous devez être le propriétaire d’un catalogue de bases de données ou d’un administrateur de metastore pour le supprimer.

Databricks recommande de supprimer d’abord toutes les tables synchronisées du catalogue de bases de données. Chaque table source ne peut être utilisée que pour créer 20 tables synchronisées et il peut prendre jusqu’à trois jours pour que les tables synchronisées soient nettoyées dans le catalogue Unity après la suppression d’un catalogue de bases de données. Les tables synchronisées en attente de suppression dans Unity Catalog comptent pour la limite de 20 tables synchronisées par table source.

Utilisez l’interface utilisateur Azure Databricks, le Kit de développement logiciel (SDK) Python, l’interface CLI ou l’API pour supprimer un catalogue de bases de données.

IU

  1. Cliquez sur Catalogue dans la barre latérale de l’espace de travail.
  2. Sélectionnez le catalogue de base de données que vous souhaitez supprimer dans le volet Catalogue .
  3. Cliquez sur l’icône de menu Kebab, puis sur Supprimer.

Kit de développement logiciel (SDK) Python

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}")

Interface de ligne de commande (CLI)

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

friser

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

Une fois le catalogue supprimé, vous pouvez renommer ou supprimer la base de données Postgres.