Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
Esta característica se encuentra en versión preliminar pública en las siguientes regiones: westus, westus2, eastuseastus2, centralussouthcentralusnortheuropewesteuropeaustraliaeastbrazilsouthcanadacentralcentralindia, , . southeastasiauksouth
En esta página se explica cómo registrar la base de datos de Lakebase como un catálogo de solo lectura en Unity Catalog. Esto le permite usar privilegios de Catálogo de Unity para administrar el acceso a los datos y aprovechar las integraciones como la sincronización de datos administrados.
Propiedad y permisos
- Si la base de datos no existe, se puede crear al mismo tiempo que el catálogo. En este caso, la propiedad de los objetos seguirá estas directrices.
- Además, el creador del catálogo debe tener
CREATE CATALOGprivilegios en el metastore del catálogo de Unity.
Creación de un catálogo
Para registrar una base de datos con unity Catalog, use la interfaz de usuario de Azure Databricks, la llamada API, el SDK de Python o la CLI.
Interfaz de usuario
- Haga clic en Calcular en la barra lateral del área de trabajo.
- En la pestaña Instancias de base de datos , seleccione la instancia de base de datos.
- En la pestaña Catálogos , haga clic en Crear catálogo.
- Puede registrar una base de datos existente como catálogo de Catálogos de Unity o crear una nueva. Use una de las siguientes opciones:
- Para usar una base de datos existente: escriba el nombre del catálogo de Unity deseado y el nombre de la base de datos postgres existente. La base de datos
databricks_postgrespredeterminada se puede usar como nombre de la base de datos. - Para crear una nueva base de datos de Postgres y catálogo de Unity al mismo tiempo: escriba el nombre del catálogo deseado y active Crear nueva base de datos.
- Para usar una base de datos existente: escriba el nombre del catálogo de Unity deseado y el nombre de la base de datos postgres existente. La base de datos
- Haga clic en Crear.
- Una vez creada, haga clic en un catálogo de la lista Catálogos para ver la vista Explorador de Catálogos.
SDK de 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}")
Interfaz de línea de comandos (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
}
Limitaciones
- Los nombres de base de datos solo deben contener caracteres alfanuméricos o de subrayado. Nota Los nombres de base de datos no pueden incluir guiones.
- El catálogo creado en el catálogo de Unity basado en la base de datos es de solo lectura.
Exploración de objetos postgres en el catálogo de Unity a través de un catálogo de bases de datos
Para ver el catálogo, asegúrese de tener un almacén de datos SQL serverless conectado.
- Haga clic en Catálogo en la barra lateral del área de trabajo.
- En el explorador Catálogo, haga clic en el clúster y seleccione un almacén de datos SQL sin servidor en ejecución como recurso de cómputo.
- Haga clic en Inicio y cierre.
Al abrir el catálogo, los esquemas y las tablas, las sincronizaciones se deben desencadenar automáticamente. Sin embargo, la interfaz de usuario puede almacenar en caché los datos para reducir el número de solicitudes de Postgres, por lo que es posible que los nuevos objetos no aparezcan inmediatamente.
Para desencadenar una actualización completa, haga clic en
.
Eliminación de un catálogo de bases de datos en el catálogo de Unity
Debe ser el propietario de un catálogo de bases de datos o un administrador de metastore para eliminarlo.
Databricks recomienda eliminar primero todas las tablas sincronizadas del catálogo de bases de datos. Cada tabla de origen solo se puede usar para crear 20 tablas sincronizadas y puede tardar hasta tres días en limpiarse en el catálogo de Unity después de eliminar un catálogo de base de datos. Las tablas sincronizadas pendientes de eliminación en el catálogo de Unity cuentan para el límite de 20 tablas sincronizadas por cada tabla de origen.
Use la interfaz de usuario de Azure Databricks, el SDK de Python, la CLI o la API para eliminar un catálogo de bases de datos.
Interfaz de usuario
- Haga clic en Catálogo en la barra lateral del área de trabajo.
- Seleccione el catálogo de bases de datos que desea eliminar en el panel Catálogo .
- Haga clic en
haga clic en Eliminar.
SDK de 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}")
Interfaz de línea de comandos (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
Una vez eliminado el catálogo, puede cambiar el nombre o quitar la base de datos de Postgres.