Creación de un metastore de Unity Catalog

En este artículo se muestra cómo crear un metastore de Unity Catalog y vincularlo a áreas de trabajo.

Importante

En el caso de las áreas de trabajo habilitadas para Unity Catalog automáticamente, las instrucciones de este artículo no son necesarias. 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. Debe seguir las instrucciones de este artículo solo si tiene un área de trabajo y aún no tiene un metastore en la región del área de trabajo. Para determinar si ya existe un metastore en su región, consulte Habilitación automática de Unity Catalog.

Un metastore es el contenedor de nivel superior de los datos de Unity Catalog. Los metastores de Unity Catalog registran metadatos sobre objetos protegibles (como tablas, volúmenes, ubicaciones externas y recursos compartidos) y los permisos que rigen el acceso a ellos. En cada metastore, se expone un espacio de nombres de tres niveles (catalog.schema.table) que sirve de ayuda a la hora de organizar los datos. Debe tener un metastore para cada región en la que opera su organización. Para trabajar con Unity Catalog, los usuarios deben estar en un área de trabajo que esté asociada a un metastore de su región.

Para crear un metastore, haga lo siguiente:

  1. En la cuenta de Azure, cree opcionalmente una ubicación de almacenamiento para el almacenamiento en el nivel de metastore de las tablas y volúmenes administrados.

    Para obtener información que le ayude a decidir si necesita almacenamiento de nivel de metastore, consulte (Opcional) Creación de almacenamiento de nivel de metastore y Los datos están separados físicamente en el almacenamiento.

  2. En la cuenta de Azure, cree una identidad administrada de Azure o una entidad de servicio que proporcione acceso a esa ubicación de almacenamiento.

  3. En Azure Databricks, cree el metastore, asocie la ubicación de almacenamiento y asigne áreas de trabajo al metastore.

Nota:

Además de los enfoques descritos de este artículo, también puede crear un metastore mediante el proveedor Terraform de Databricks y, en concreto, el recurso databricks_metastore. Para permitir que Unity Catalog acceda al metastore, use databricks_metastore_data_access. Para vincular áreas de trabajo a un metastore, use databricks_metastore_assignment.

Antes de empezar

Antes de empezar, debe familiarizarse con los conceptos básicos de Unity Catalog, incluidos los metastores y el almacenamiento administrado. Consulte ¿Qué es Unity Catalog?

También debe confirmar que cumple los siguientes requisitos para todos los pasos de configuración:

  • Debe ser administrador de la cuenta de Azure Databricks.

    El primer administrador de cuentas de Azure Databricks debe ser un administrador global de Microsoft Entra ID (anteriormente Azure Active Directory) en el momento en que inicie sesión por primera vez en la consola de la cuenta de Azure Databricks. Tras el primer inicio de sesión, ese usuario se convierte en administrador de cuentas de Azure Databricks y ya no necesita el rol de administrador global de Microsoft Entra ID para acceder a la cuenta de Azure Databricks. El primer administrador de la cuenta puede asignar usuarios del inquilino de Microsoft Entra ID como administradores de cuenta adicionales (que a su vez pueden asignar más administradores de cuentas). Los administradores de cuentas adicionales no requieren roles específicos en Microsoft Entra ID.

  • Las áreas de trabajo que adjunte al metastore deben estar en el plan Premium de Azure Databricks.

  • Si desea configurar el almacenamiento raíz de nivel de metastore, debe tener permiso para crear lo siguiente en el inquilino de Azure:

Paso 1 (Opcional): Creación de un contenedor de almacenamiento para el almacenamiento administrado en el nivel de metastore

En este paso, que es opcional, creará una cuenta de almacenamiento y un contenedor para almacenar datos administrados de tablas y volúmenes en el nivel de metastore. Para determinar si necesita almacenamiento de nivel de metastore, consulte (Opcional) Creación de almacenamiento de nivel demetastore.

  1. Cree una cuenta de almacenamiento para Azure Data Lake Storage Gen2.

    Esta cuenta de almacenamiento contendrá las tablas y volúmenes administrados de Unity Catalog. Debe ser una cuenta de Azure Data Lake Storage Gen2 en la misma región que las áreas de trabajo de Azure Databricks. Consulte Creación de una cuenta de almacenamiento para su uso con Azure Data Lake Storage Gen2 habilitado.

  2. Cree un contenedor de almacenamiento que contenga los datos administrados de tablas y volúmenes en el nivel de metastore.

    Solo puede crear una tienda de metadatos por región. Debe usar la misma región para el metastore y el contenedor de almacenamiento.

    Esta ubicación de almacenamiento predeterminada en el nivel de metastore se puede invalidar en los niveles de catálogo y esquema. Ver Almacenamiento gestionado.

    Anote el URI de ADLSv2 del contenedor, que tiene el formato siguiente:

    abfss://<container-name>@<storage-account-name>.dfs.core.windows.net/<metastore-name>
    

    Durante los siguientes pasos, reemplace el elemento <storage-container> con el siguiente URI.

Paso 2 (Opcional): Creación de una identidad administrada para acceder a la ubicación de almacenamiento administrada

En este paso, que solo es necesario si completó el paso 1, creará un conector de acceso de Azure Databricks que contiene una identidad administrada y le dará acceso al contenedor de almacenamiento.

Siga las instrucciones que se indican en Uso de identidades administradas de Azure en Unity Catalog para acceder al almacenamiento.

Nota:

Puede usar una identidad administrada de Azure o una entidad de servicio como identidad de autorización de acceso al contenedor de almacenamiento del metastore. Databricks recomienda encarecidamente el uso de identidades administradas, ya que estas no requieren que mantenga credenciales ni rote secretos, y le permiten conectarse a una cuenta de Azure Data Lake Storage Gen2 protegida por un firewall de almacenamiento. Si desea usar una entidad de servicio, consulte Creación de un almacenamiento administrado de Unity Catalog mediante una entidad de servicio (heredada).

Paso 3: Creación del metastore y asociación de un área de trabajo

Cada región de Azure Databricks requiere su propio metastore de Unity Catalog.

Debe crear un metastore para cada región donde opere su organización. Cada una de estos metastores regionales puede vincularse con cualquier número de áreas de trabajo de la misma región. Cada área de trabajo vinculada tendrá la misma vista de los datos del metastore y el control de acceso a datos se puede administrar para todas las áreas de trabajo a la vez. Puede acceder a los datos de varios metastores mediante el protocolo Delta Sharing.

Si decide crear un almacenamiento de nivel de metastore, el metastore usará el contenedor de almacenamiento y la identidad administrada de Azure que creó en los pasos anteriores.

Para crear un metastore:

  1. Si decide crear almacenamiento de nivel de metastore, asegúrese de que tiene la ruta de acceso al contenedor de almacenamiento y el identificador de recurso del conector de acceso de Azure Databricks que creó en la tarea anterior.

  2. Inicie sesión en el área de trabajo como administrador de la cuenta.

  3. Haga clic en su nombre de usuario en la barra superior del área de trabajo de Azure Databricks y seleccione Administrar cuenta.

  4. Inicie sesión en la consola de la cuenta de Azure Databricks.

  5. Haga clic en el icono de CatálogoCatálogo.

  6. Haga clic en Crear metastore.

  7. Escriba lo siguiente:

    • Nombre para el metastore.

    • Región en la que se implementará el metastore.

      Debe estar en la misma región que las áreas de trabajo que desea usar para acceder a los datos. Si decide crear un contenedor de almacenamiento para el almacenamiento de nivel de metastore, esa región también debe ser la misma.

    • (Opcional) Ruta de acceso de ADLS Gen 2: escriba la ruta de acceso al contenedor de almacenamiento que va a usar como almacenamiento raíz para el metastore.

      El prefijo abfss:// se agrega de manera automática.

    • (Opcional) Id. del conector de acceso: escriba el id. de recurso del conector de acceso de Azure Databricks con el siguiente formato:

      /subscriptions/12f34567-8ace-9c10-111c-aea8eba12345c/resourceGroups/<resource-group>/providers/Microsoft.Databricks/accessConnectors/<connector-name>
      
  8. Haga clic en Crear.

  9. Cuando se le solicite, seleccione áreas de trabajo para vincularlas al metastore.

    Para más información, consulte Habilitación de un área de trabajo para Unity Catalog.

  10. Transfiera el rol de administrador de metastore a un grupo.

    El usuario que crea un metastore es su propietario, que también se denomina administrador de metastore. El administrador de metastore puede crear objetos de nivel superior en el metastore, como catálogos, y puede administrar el acceso a las tablas y a otros objetos. Databricks recomienda reasignar el rol de administrador de metastore a un grupo. Consulte Asignación de un administrador de metastore.

  11. Habilite la administración de Azure Databricks de cargas en volúmenes administrados.

    Azure Databricks emplea el uso compartido de recursos entre orígenes (CORS) para cargar datos en volúmenes administrados de Unity Catalog. Consulte Configuración de la cuenta de almacenamiento del catálogo de Unity para CORS.

Pasos siguientes

Adición de almacenamiento administrado a un metastore existente

El almacenamiento administrado de nivel de metastore es opcional y no se incluye para las metastores que se crearon automáticamente. Es posible que quiera agregar almacenamiento de nivel de metastore a su metastore si prefiere un modelo de aislamiento de datos que almacene los datos de forma centralizada para varias áreas de trabajo. Necesita almacenamiento en el nivel de metastore si desea compartir cuadernos mediante Delta Sharing o si es un asociado de Azure Databricks que usa ubicaciones de almacenamiento provisional personales.

Consulte también Almacenamiento administrado.

Requisitos

  • Debe tener al menos una área de trabajo asociada al metastore de Unity Catalog.
  • Permisos de Azure Databricks necesarios:
    • Para crear una ubicación externa, debe ser un administrador o usuario de metastore con los privilegios CREATE EXTERNAL LOCATION y CREATE STORAGE CREDENTIAL.
    • Para agregar la ubicación de almacenamiento a la definición de metastore, debe ser administrador de la cuenta. Para obtener instrucciones sobre cómo habilitar el rol de administrador de la cuenta en su cuenta, consulte Establecimiento del primer administrador de la cuenta.
  • Permisos de inquilino de Azure necesarios:
    • Permiso para crear una cuenta de almacenamiento que se usará con Azure Data Lake Storage Gen2. Esta cuenta de almacenamiento debe tener un espacio de nombres jerárquico. Consulte Creación de una cuenta de almacenamiento para su uso con Azure Data Lake Storage Gen2 habilitado.
    • Permiso para crear un nuevo recurso que contenga una identidad administrada asignada por el sistema. Esto requiere que sea colaborador o propietario de un grupo de recursos en cualquiera de las suscripciones del inquilino.

Paso 1: Crear la ubicación de almacenamiento

Siga las instrucciones del Paso 1 (opcional): cree un contenedor de almacenamiento para el almacenamiento administrado de nivel de metastore y el Paso 2 (opcional): cree una identidad administrada para acceder a la ubicación de almacenamiento administrada para crear un contenedor de almacenamiento en Azure Data Lake Storage Gen2 y un conector de acceso de Azure Databricks que contenga una identidad administrada que tenga acceso al contenedor de almacenamiento.

Paso 2: Crear una ubicación externa en Unity Catalog

En este paso, creará una ubicación externa en Unity Catalog que hace referencia a la ruta de acceso de ADLS Gen 2 que acaba de crear.

  1. Cree una credencial de almacenamiento.

    La credencial de almacenamiento representará la identidad administrada de Azure que creó en el Paso 1: Creación de la ubicación de almacenamiento.

    Siga las instrucciones de Creación de una credencial de almacenamiento para conectarse a Azure Data Lake Storage Gen2.

  2. Cree una ubicación externa que haga referencia a la credencial de almacenamiento que creó en el paso anterior y el contenedor de almacenamiento de ADLS Gen 2 que creó en el Paso 1: Crear la ubicación de almacenamiento.

    Siga las instrucciones de Creación de una ubicación externa para conectar el almacenamiento en la nube a Azure Databricks

  3. Conceda el privilegio CREATE MANAGED STORAGE en la ubicación externa.

    1. Haga clic en el nombre de la ubicación externa para abrir el panel de detalles.
    2. En la pestaña Permisos, haga clic en Conceder.
    3. En el cuadro de diálogo Conceder en <external location>, seleccione usted mismo en el campo Entidades de seguridad y seleccione CREATE MANAGED STORAGE.
    4. Haga clic en Conceder.

Paso 3: Agregar la ubicación de almacenamiento al metastore

Después de crear una ubicación externa que represente el cubo de almacenamiento de metastore, puede agregarla al metastore.

  1. Como administrador de la cuenta, inicie sesión en la consola de la cuenta.

  2. Haga clic en el icono de CatálogoCatálogo.

  3. Haga clic en el nombre del metastore.

  4. Confirme que es el Administrador de metastore.

    Si no lo es, haga clic en Editar y asígnese como administrador de metastore. Puede anular la asignación cuando haya terminado con este procedimiento.

  5. En la pestaña Configuración, junto a la ruta de acceso deADLS Gen 2, haga clic en Establecer.

  6. En el cuadro de diálogo Establecer raíz de metastore, escriba la ruta de acceso de ADLS Gen 2 que usó para crear la ubicación externa y haga clic en Actualizar.

    No puede modificar esta ruta de acceso una vez establecida.

Eliminar un metastore

Si va a cerrar la cuenta de Azure Databricks o tiene otro motivo para eliminar el acceso a los datos administrados por el metastore de Unity Catalog, puede eliminar el metastore.

Advertencia

Todos los objetos administrados por el metastore serán inaccesibles desde las áreas de trabajo de Azure Databricks. Esta operación no se puede deshacer.

Los datos y metadatos de la tabla administrada se eliminarán automáticamente después de 30 días. La eliminación del metastore no afecta a los datos de tabla externos del almacenamiento en la nube.

Para eliminar un metastore:

  1. Como administrador del metastore, inicie sesión en la consola de la cuenta.
  2. Haga clic en el icono de CatálogoCatálogo.
  3. Haga clic en el nombre del metastore.
  4. En la pestaña Configuración, haga clic en el menú de tres botones situado en la esquina superior derecha y seleccione Eliminar.
  5. En el cuadro de diálogo de confirmación, escriba el nombre del metastore y haga clic en Eliminar.