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:

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 Unity Catalog aprovisionado automáticamente (a menos que ya hubiera existido un metastore de Unity Catalog para la región 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 sé si mi área de trabajo incluye un catálogo del área 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 uno, haga clic en Icono de catálogoCatá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 del 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

  1. Como administrador de la cuenta de Azure Databricks, inicie sesión en la consola de la cuenta.
  2. Haga clic en Icono de las áreas de trabajoÁreas de trabajo.
  3. 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.

Salida actual de metastore

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 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.

Puede ser conveniente administrar el acceso de usuarios a Azure Databricks mediante la configuración del aprovisionamiento desde Microsoft Entra ID (anteriormente Azure Active Directory). 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 aprender a determinar si el área de trabajo tiene un catálogo de áreas de trabajo, consulte ¿Cómo sé si mi área de trabajo incluye un catálogo del área 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álogo main, 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álogo main 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:

  1. 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 Almacenamiento administrado 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 de objetos en la nube mediante Unity Catalog.

  2. 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 Enlace de un catálogo a una o varias áreas de trabajo.

  3. Conceda privilegios en el catálogo.

Para obtener instrucciones detalladas, consulte Creación y administració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 Catalog Explorer, consulte Creación y administració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 y administración de esquemas (bases de datos).

(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:

Para obtener información detallada sobre el rol de administrador de metastore e instrucciones para asignarlo, consulte Asignar un administrador de metastore.

(opcional) Siga trabajando con su metastore de Hive

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 de Unity Catalog, pero, si decide no hacerlo, puede continuar trabajando con el metastore de Hive.

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 administrado independiente para cada catálogo del metastore (y puede hacer lo mismo para los esquemas), puede optar por crear una ubicación administrada en el nivel de metastore y usarla como almacenamiento predeterminado 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