Configuración y administración de Unity Catalog
En este artículo, se explica cómo configurar y usar Unity Catalog para administrar datos en el área de trabajo de Azure Databricks. Está pensado principalmente para los administradores del área de trabajo que usan Unity Catalog por primera vez.
Al final de este artículo, tendrá lo siguiente:
- Un área de trabajo habilitada para Unity Catalog.
- Proceso con acceso a Unity Catalog.
- Usuarios con permiso para acceder y crear objetos en Unity Catalog.
También puede interesarle revisar otros artículos introductorios:
- Para ver una explicación rápida sobre cómo crear una tabla y conceder permisos en Unity Catalog, consulte Tutorial: Creación de la primera tabla y concesión de privilegios.
- Para conocer los conceptos clave de Unity Catalog y una introducción a cómo funciona, consulte ¿Qué es Unity Catalog?.
- Para obtener información sobre cómo usar Unity Catalog para satisfacer sus necesidades de gobernanza de datos, consulte Procedimientos recomendados de Unity Catalog.
Nota:
Si quisiera actualizar un área de trabajo que no fuera del catálogo de Unity a este, podría usar UCX, un proyecto de Databricks Labs que proporciona un conjunto de flujos de trabajo y utilidades para actualizar identidades, permisos y tablas en el catálogo de Unity. Consulte Uso de utilidades de UCX para actualizar el área de trabajo al catálogo de Unity.
Información general sobre la habilitación de Unity Catalog
Para usar Unity Catalog, las áreas de trabajo de Azure Databricks deben estar habilitadas para Unity Catalog, lo que significa que las áreas de trabajo están conectadas a un metastore de Unity Catalog, el contenedor de nivel superior para los metadatos de Unity Catalog.
La forma en que los administradores configuran Unity Catalog depende de si el área de trabajo se ha habilitado automáticamente para Unity Catalog o se requiere la habilitación manual.
Habilitación automática de Unity Catalog
Databricks comenzó a habilitar nuevas áreas de trabajo para Unity Catalog automáticamente el 9 de noviembre de 2023, mediante un proceso de implementación gradual entre cuentas. Las áreas de trabajo que se habilitaron automáticamente tienen las siguientes propiedades:
Un metastore de catálogo de Unity aprovisionado automáticamente (a menos que ya existía un metastore de catálogo de Unity para la región del área de trabajo y el metastore está habilitado para la asignación automática del área de trabajo).
Privilegios predeterminados para los administradores del área de trabajo, como la capacidad de crear un catálogo o una conexión de base de datos externa.
Ningún administrador de metastore (a menos que se haya usado un metastore de Unity Catalog existente y ya se haya asignado un administrador de metastore).
No hay almacenamiento de nivel de metastore para las tablas administradas y los volúmenes administrados (a menos que se haya usado un metastore de Unity Catalog existente con almacenamiento de nivel de metastore).
Un catálogo del área de trabajo, al que, cuando se aprovisiona originalmente, se le asigna el nombre del área de trabajo.
Todos los usuarios del área de trabajo pueden crear recursos en el esquema
default
de este catálogo. De forma predeterminada, este catálogo se enlaza al área de trabajo, lo que significa que solo se puede acceder a él a través del área de trabajo. El aprovisionamiento automático del catálogo del área de trabajo durante la creación de esta se está implementando gradualmente en todas las cuentas.
Estas configuraciones predeterminadas funcionarán bien para la mayoría de las áreas de trabajo, pero un administrador del área de trabajo o un administrador de la cuenta pueden modificarlas. Por ejemplo, un administrador de cuenta puede asignar un administrador de metastore y crear almacenamiento de nivel de metastore, y un administrador del área de trabajo puede modificar el nombre del catálogo del área de trabajo y el acceso a él.
¿Qué ocurre si mi área de trabajo no se ha habilitado automáticamente para Unity Catalog?
Si el área de trabajo no se ha habilitado automáticamente para Unity Catalog, un administrador de cuenta o un administrador de metastore deben asociar manualmente el área de trabajo a un metastore de Unity Catalog en la misma región. Si no existe ningún metastore de Unity Catalog en la región, un administrador de la cuenta debe crear uno. Para obtener instrucciones, consulte Creación de un metastore de Unity Catalog.
¿Cómo puedo saber si mi área de trabajo se ha habilitado para Unity Catalog?
Para confirmar si el área de trabajo se ha habilitado para Unity Catalog, pida a un administrador de área de trabajo o administrador de cuenta de Azure Databricks que lo compruebe. Consulte también Paso 1: Confirmar que el área de trabajo está habilitada para Unity Catalog.
Cómo saber si mi área de trabajo incluye un catálogo de áreas de trabajo?
Algunas áreas de trabajo nuevas tienen un catálogo del área de trabajo, al que, cuando se aprovisiona originalmente, se le asigna el nombre del área de trabajo. Para determinar si el área de trabajo tiene alguno, haga clic en Catálogo en la barra lateral para abrir el Explorador de catálogos y busque un catálogo que use el nombre del área de trabajo como nombre de catálogo.
Nota:
El catálogo de un área de trabajo es como cualquier otro catálogo de Unity Catalog: un administrador del área de trabajo puede cambiar su nombre, modificar su titularidad o incluso eliminarlo. Sin embargo, inmediatamente después de crear el área de trabajo, adopta el nombre de esta.
Antes de empezar
Antes de empezar con las tareas descritas en este artículo, debe familiarizarse con los conceptos básicos de Unity Catalog, incluidos los metastores, los roles de administrador y el almacenamiento administrado. Consulte ¿Qué es Unity Catalog?
También debe confirmar que cumple los siguientes requisitos:
Un área de trabajo de Azure Databricks en el plan Premium.
Los siguientes roles y privilegios, que dependen del estado del área de trabajo:
Administrador del área de trabajo: si el área de trabajo se habilitó automáticamente para Unity Catalog cuando se creó, el usuario debe ser un administrador del área de trabajo para completar las tareas necesarias.
Administrador de la cuenta: si el área de trabajo aún no está habilitada para Unity Catalog, un administrador de cuenta debe asociar el área de trabajo al metastore.
Si no hay ningún metastore de Unity Catalog en la misma región que el área de trabajo, un administrador de la cuenta también debe crear el metastore de Unity Catalog.
Siga en este artículo para las instrucciones que lo ayudarán a determinar si existe un metastore para la región del área de trabajo, junto con las instrucciones de creación de un metastore.
Consulte Privilegio de administración en Unity Catalog y Habilitación automática de Unity Catalog.
Paso 1: Confirmar que el área de trabajo está habilitada para Unity Catalog
En este paso, determinará si el área de trabajo ya está habilitada para Unity Catalog, donde la habilitación se define como tener un metastore de Unity Catalog asociado al área de trabajo. Si el área de trabajo no está habilitada para Unity Catalog, debe habilitarla manualmente. Consulte Pasos siguientes si el área de trabajo no está habilitada para Unity Catalog.
Para confirmarlo, realice una de las siguientes acciones.
Usar la consola de la cuenta para confirmar la habilitación de Unity Catalog
- Como administrador de la cuenta de Azure Databricks, inicie sesión en la consola de la cuenta.
- Haga clic en Áreas de trabajo.
- Busque el área de trabajo y compruebe la columna Metastore. Si aparece un nombre de metastore, el área de trabajo está asociada a un metastore de Unity Catalog y, por tanto, está habilitada para Unity Catalog.
Ejecutar una consulta SQL para confirmar la habilitación de Unity Catalog
Ejecute la siguiente consulta SQL en el editor de consultas SQL o en un cuaderno que esté asociado a un clúster que use el modo de acceso compartido o de usuario único. Consulte Modos de acceso. No se requiere ningún rol de administrador.
SELECT CURRENT_METASTORE();
Si la consulta devuelve un identificador de metastore como el siguiente, eso significa que el área de trabajo está asociada a un metastore de Unity Catalog y, por tanto, está habilitada para este.
Pasos siguientes si el área de trabajo no está habilitada para Unity Catalog.
Si el área de trabajo no se ha habilitado automáticamente para Unity Catalog (asociada a un metastore), el siguiente paso depende de si ya tiene definido un metastore de Unity Catalog para la región del área de trabajo:
- Si la cuenta ya tiene un metastore de Unity Catalog definido para la región del área de trabajo, simplemente puede asociar el área de trabajo al metastore existente. Vaya a Habilitación del área de trabajo para Unity Catalog.
- Si no hay ningún metastore de Unity Catalog definido para la región del área de trabajo, debe crear uno y, a continuación, adjuntar el área de trabajo. Vaya a Creación de un metastore de Unity Catalog.
Si el área de trabajo está habilitada para Unity Catalog, vaya al paso siguiente.
Paso 2: Agregar usuarios y asignar el rol de administrador del área de trabajo
El usuario que crea el área de trabajo se agrega automáticamente como usuario del área de trabajo con el rol de administrador del área de trabajo (es decir, un usuario del grupo admins
de workspace-local). Como administrador del área de trabajo, puede agregar e invitar a los usuarios al área de trabajo, asignar el rol de administrador del área de trabajo a otros usuarios y crear entidades de servicio y grupos.
Los administradores de cuentas también tienen la capacidad de agregar usuarios, entidades de servicio y grupos al área de trabajo. Pueden conceder los roles de administrador de cuentas y de administrador de metastore.
Para obtener más información, consulte Administrar usuarios.
(Recomendado) Sincronizar identidades a nivel de cuenta desde Microsoft Entra ID
Puede ser conveniente administrar el acceso de los usuarios a Azure Databricks configurando el aprovisionamiento desde Microsoft Entra ID. Para obtener instrucciones completas, consulte Sincronización de usuarios y grupos desde Microsoft Entra ID.
Paso 3: Crear clústeres o almacenes de SQL que los usuarios puedan usar para ejecutar consultas y crear objetos
Para ejecutar cargas de trabajo de Unity Catalog, los recursos de proceso deben cumplir ciertos requisitos de seguridad. Los recursos de proceso que no cumplen los requisitos no pueden acceder a datos u otros objetos en Unity Catalog. Los almacenes de SQL siempre cumplen los requisitos de Unity Catalog, pero algunos modos de acceso a clústeres no lo hacen. Consulte Modos de acceso.
Como administrador del área de trabajo, puede optar por restringir la creación de procesos a los administradores o permitir que los usuarios creen sus propios clústeres y almacenes de SQL. También puede crear directivas de clúster que permitan a los usuarios crear sus propios clústeres mediante el cumplimiento de especificaciones de Unity Catalog. Vea permisos de proceso y Creación y administración de directivas de proceso.
Paso 4: Conceder privilegios a los usuarios
Para crear objetos y acceder a ellos en catálogos y esquemas de Unity, un usuario debe tener permiso para hacerlo. En esta sección se describen los privilegios de usuario y de administración concedidos en algunas áreas de trabajo de forma predeterminada y se muestra cómo conceder privilegios adicionales.
Privilegios de usuario predeterminados
Algunas áreas de trabajo tienen privilegios de usuario predeterminados (no administrativos) al iniciarse:
Si el área de trabajo se inicia con un catálogo de áreas de trabajo aprovisionado automáticamente, todos los usuarios del área de trabajo pueden crear objetos en el esquema
default
del catálogo del área de trabajo.Para obtener información sobre cómo determinar si el área de trabajo tiene un catálogo de áreas de trabajo, consulte Cómo saber si mi área de trabajo incluye un catálogo de áreas de trabajo.
Si el área de trabajo se ha habilitado para Unity Catalog manualmente, tiene un catálogo
main
aprovisionado automáticamente.Los usuarios del área de trabajo tienen el privilegio
USE CATALOG
en el catálogomain
, que no concede la capacidad de crear o seleccionar entre los objetos del catálogo, pero es un requisito previo para trabajar con cualquier objeto del catálogo. El usuario que creó el metastore es propietario del catálogomain
de forma predeterminada y puede transferir la propiedad y conceder acceso a otros usuarios.Si el almacenamiento de metastore se agrega después de crear el metastore, no se aprovisionará ningún catálogo
main
.
Otras áreas de trabajo no tienen catálogos creados de forma predeterminada ni privilegios habilitados de forma predeterminada para usuarios que no sean administradores. Un administrador del área de trabajo debe crear el primer catálogo y conceder a los usuarios acceso a este y a sus objetos. Vaya al Paso 5: Crear nuevos catálogos y esquemas antes de completar los pasos de esta sección.
Privilegios de administrador predeterminados
Algunas áreas de trabajo tienen privilegios de administración predeterminados al iniciarse:
- Si el área de trabajo se ha habilitado para Unity Catalog automáticamente:
- Los administradores del área de trabajo pueden crear nuevos catálogos y objetos en catálogos nuevos y conceder acceso a ellos.
- De forma predeterminada, no hay ningún administrador de metastore.
- Los administradores del área de trabajo son propietarios del catálogo del área de trabajo (si existe alguno) y pueden conceder acceso a él y a cualquier objeto en él.
- Si el área de trabajo se ha habilitado para Unity Catalog manualmente:
- Los administradores del área de trabajo no tienen privilegios especiales de Unity Catalog de forma predeterminada.
- Los administradores del metastore deben existir y pueden crear cualquier objeto de Unity Catalog, y pueden convertirse en propietarios de cualquier objeto de Unity Catalog.
Para obtener una lista de privilegios de objeto adicionales concedidos a los administradores del área de trabajo en áreas de trabajo de Unity Catalog habilitadas automáticamente, consulte Privilegios de administrador del área de trabajo cuando las áreas de trabajo están habilitadas para Unity Catalog automáticamente.
Concesión de privilegios
Para obtener acceso a objetos distintos de los enumerados en las secciones anteriores, un usuario con privilegios debe conceder ese acceso.
Por ejemplo, para conceder a un grupo la capacidad de crear nuevos esquemas en my-catalog
, el propietario del catálogo puede ejecutar lo siguiente en el Editor de SQL o en un cuaderno:
GRANT CREATE SCHEMA ON my-catalog TO `data-consumers`;
Si el área de trabajo se ha habilitado automáticamente para Unity Catalog, el administrador del área de trabajo es e propietario del área de trabajo y puede conceder la capacidad de crear nuevos esquemas:
GRANT CREATE SCHEMA ON <workspace-catalog> TO `data-consumers`;
También puede conceder y revocar privilegios mediante Catalog Explorer.
Importante
No se pueden conceder privilegios a los grupos users
o admins
de workspace-local. Para conceder privilegios a grupos, deben ser grupos de nivel de cuenta.
Para obtener más detalles sobre la administración de privilegios en Unity Catalog, consulte Administración de privilegios en Unity Catalog.
Paso 5: Crear nuevos catálogos y esquemas
Para empezar a usar Unity Catalog, debe tener al menos un catálogo definido. Los catálogos son la unidad principal de aislamiento de datos y organización de Unity Catalog. Todos los esquemas y tablas residen en catálogos, al igual que los volúmenes, vistas y modelos.
Algunas áreas de trabajo no tienen catálogo aprovisionado automáticamente. Para usar Unity Catalog, un administrador del área de trabajo debe crear el primer catálogo de esta.
Otras áreas de trabajo tienen acceso a un catálogo aprovisionado previamente al que los usuarios pueden acceder para empezar (ya sea el catálogo del área de trabajo o el catálogo main
, en función de cómo se habilitó el área de trabajo para Unity Catalog). A medida que agrega más datos y recursos de IA a Azure Databricks, puede crear catálogos adicionales para agrupar esos recursos de forma que sea fácil controlar los datos lógicamente.
Para obtener recomendaciones sobre cómo usar mejor los catálogos y esquemas para organizar los datos y los recursos de IA, consulte Procedimientos recomendados de Unity Catalog.
Como administrador de metastore, administrador del área de trabajo (solo áreas de trabajo habilitadas automáticamente) u otro usuario con el privilegio CREATE CATALOG
, puede crear nuevos catálogos en el metastore. Cuando lo haga, debe:
Crear almacenamiento administrado para el nuevo catálogo.
El almacenamiento administrado es una ubicación de almacenamiento dedicada en la cuenta de Azure para tablas administradas y volúmenes administrados. Puede asignar almacenamiento administrado al metastore, a los catálogos y a los esquemas. Cuando un usuario crea una tabla, los datos se almacenan en la ubicación de almacenamiento más baja de la jerarquía. Por ejemplo, si se define una ubicación de almacenamiento para el metastore y el catálogo, pero no para el esquema, los datos se almacenan en la ubicación definida para el catálogo.
Databricks recomienda asignar almacenamiento administrado en el nivel de catálogo, ya que los catálogos suelen representar unidades lógicas de aislamiento de datos. Si le parece conveniente que los datos de varios catálogos compartan la misma ubicación de almacenamiento, puede establecer de forma predeterminada la ubicación de almacenamiento en el nivel del metastore. Si el área de trabajo se ha habilitado automáticamente para Unity Catalog, no hay almacenamiento de nivel de metastore de manera predeterminada. Un administrador de cuenta tiene la opción de configurar el almacenamiento en el nivel de metastore. Consulte Especificación de una ubicación de almacenamiento administrada en Unity Catalog y Adición de almacenamiento administrado a un metastore existente.
La asignación de almacenamiento administrado a un catálogo requiere que cree:
- Una credencial de almacenamiento.
- Una ubicación externa que haga referencia a esa credencial de almacenamiento.
Para obtener una introducción a estos objetos e instrucciones para crearlos, consulte Conexión al almacenamiento y servicios de objetos en la nube mediante el catálogo de Unity.
Enlace el nuevo catálogo al área de trabajo si desea limitar el acceso desde otras áreas de trabajo que comparten el mismo metastore.
Consulte Limitación del acceso del catálogo a áreas de trabajo específicas.
Conceda privilegios en el catálogo.
Para obtener instrucciones detalladas, consulte Creación de catálogos.
Ejemplo de creación de un catálogo
En el ejemplo siguiente, se muestra la creación de un catálogo con almacenamiento administrado, seguido de la concesión del privilegio SELECT
en el catálogo:
CREATE CATALOG IF NOT EXISTS mycatalog
MANAGED LOCATION 'abfss://mycontainer@<myaccount.dfs.core.windows.net//depts/finance';
GRANT SELECT ON mycatalog TO `finance-team`;
Para obtener más ejemplos, incluidas las instrucciones para crear catálogos mediante el Explorador de catálogos, consulte Creación de catálogos.
Creación de un esquema
Los esquemas representan agrupaciones más detalladas (por ejemplo, departamentos o proyectos) que los catálogos. Todas las tablas y otros objetos de Unity Catalog del catálogo se encuentran en esquemas. Como propietario de un nuevo catálogo, es posible que desee crear los esquemas en el catálogo. Pero es posible que quiera delegar la capacidad de crear esquemas a otros usuarios al proporcionarles el privilegio CREATE SCHEMA
en el catálogo.
Para obtener instrucciones detalladas, consulte Creación de esquemas.
(Opcional) Asignación del rol de administrador de metastore
Si el área de trabajo se ha habilitado automáticamente para Unity Catalog, es posible que no tenga un rol de administrador de metastore asignado de manera predeterminada. Los administradores de metastore tienen algunos privilegios que los administradores del área de trabajo no tienen.
Se recomienda asignar un administrador de metastore si necesita:
Cambiar la propiedad de catálogos después de que alguien abandone la empresa.
Administrar y delegar permisos en el script de inicialización y en la lista de permitidos jar.
Delegar la capacidad de crear catálogos y otros permisos de nivel superior a los administradores que no son del área de trabajo.
Recibir datos compartidos a través de Delta Sharing.
Utilizar salas limpias.
Quitar los permisos de administrador de área de trabajo predeterminados.
Agregue almacenamiento administrado al metastore, si no tiene ninguno. Consulte Adición de almacenamiento administrado a un metastore existente.
Para obtener información detallada sobre el rol de administrador de metastore e instrucciones para asignarlo, consulte Asignar un administrador de metastore.
Actualizar las tablas del metastore de Hive a tablas del catálogo de Unity
Si el área de trabajo estaba en servicio antes de habilitarse para el catálogo de Unity, es probable que tenga un metastore de Hive que contenga los datos que desea seguir usando. Databricks recomienda migrar las tablas administradas por el metastore de Hive al metastore del catálogo de Unity.
Consulte Actualización de tablas y vistas a Unity Catalog y Uso de utilidades de UCX para actualizar el área de trabajo a Unity Catalog.
(opcional) Siga trabajando con su metastore de Hive
Si el área de trabajo tuviera un metastore de Hive con datos que quisiera seguir usando y decidiera no seguir la recomendación de actualizar las tablas administradas por el metastore de Hive al metastore del catálogo de Unity, siga trabajando con los datos del metastore de Hive junto con los datos del metastore del catálogo de Unity.
El metastore de Hive se representa en interfaces de Unity Catalog como un catálogo denominado hive_metastore
. Para seguir trabajando con datos en el metastore de Hive sin tener que actualizar las consultas para especificar el catálogo hive_metastore
, puede establecer el catálogo predeterminado del área de trabajo en hive_metastore
. Consulte Administración del catálogo predeterminado.
En función de cuándo se ha habilitado el área de trabajo para Unity Catalog, el catálogo podría ya ser hive_metastore
.
(Opcional) Creación de un almacenamiento en el nivel de metastore
Aunque Databricks recomienda crear una ubicación de almacenamiento administrada independiente para cada catálogo de su metastore (y puede hacer lo mismo para esquemas), puede optar por crear una ubicación administrada en el nivel de metastore y usarla como almacenamiento para varios catálogos y esquemas.
Si desea almacenamiento en el nivel de metastore, también debe asignar un administrador de metastore. Consulte (Opcional) Asignación del rol de administrador de metastore.
El almacenamiento en el nivel de metastore solo es necesario si se cumple lo siguiente:
- Quiere compartir cuadernos mediante Delta Sharing de Databricks a Databricks.
- Usa una integración de productos de asociado de Databricks que se basa en ubicaciones de almacenamiento provisional personales (en desuso).
Para más información sobre la jerarquía de ubicaciones de almacenamiento administrado, consulte Los datos están separados físicamente en el almacenamiento.
Para aprender a agregar almacenamiento en el nivel de metastore a metastores que no tienen ninguno, consulte Adición de almacenamiento administrado a un metastore existente.
Nota:
La mayoría de las áreas de trabajo habilitadas para Unity Catalog antes del 9 de noviembre de 2023 tienen una raíz de almacenamiento en el nivel de metastore.
Pasos siguientes
- Ejecute un tutorial rápido para crear la primera tabla en Unity Catalog: Tutorial: Creación de la primera tabla y concesión de privilegios
- Obtenga más información sobre Unity Catalog: ¿Qué Unity Catalog?
- Para obtener información sobre los procedimientos recomendados para usar Unity Catalog, consulte Procedimientos recomendados de Unity Catalog
- Obtenga información sobre cómo conceder y revocar privilegios: Administración de privilegios en Unity Catalog
- Obtenga información sobre cómo crear tablas
- Aprenda cómo actualizar tablas de Hive al catálogo de Unity
- Para instalar la CLI de Databricks, consulte ¿Qué es la CLI de Databricks?