Compartir vía


Crear catálogos

En este artículo se muestra cómo crear catálogos en Unity Catalog. Un catálogo contiene esquemas (bases de datos) y un esquema contiene tablas, vistas, volúmenes, modelos y funciones.

Para más información sobre los catálogos, vea ¿Qué son los catálogos en Azure Databricks?.

Nota:

Para obtener información sobre cómo crear un catálogo externo, un objeto de Unity Catalog que refleja una base de datos en un sistema de datos externo, consulte Creación de un catálogo externo. Vea también Administrar y trabajar con catálogos externos.

Requisitos

Para crear un catálogo, independientemente del tipo de catálogo:

  • Debe ser un administrador de metastore de Azure Databricks o tener el privilegio CREATE CATALOG en el metastore.
  • El recurso de proceso que se usa para ejecutar un cuaderno debe estar en Databricks Runtime 11.3 o versiones posteriores, y debe usar un modo de acceso compatible con Unity Catalog. Consulte Modos de acceso. Los almacenes de SQL siempre admiten Unity Catalog.

Para crear un catálogo compartido:

Para crear un catálogo estándar:

  • Si especifica una ubicación de almacenamiento administrada para el catálogo, debe tener el privilegio CREATE MANAGED STORAGE en la ubicación externa de destino.
  • Si no existe ningún almacenamiento administrado de nivel de metastore, debe especificar una ubicación de almacenamiento administrada para el catálogo.

Para crear un catálogo externo:

  • Debe ser el propietario de la conexión que use para crear el catálogo externo, o bien tener el privilegio CREATE FOREIGN CATALOG en la conexión.
  • Debe usar el proceso en Databricks Runtime 13.1 o superior. Los almacenes de SQL deben ser Pro o sin servidor.

Creación de un catálogo

Para crear un catálogo, puede usar el Explorador de catálogos, un comando de SQL, la API REST, la CLI de Databricks o Terraform. Al crear un catálogo, se crean automáticamente dos esquemas (bases de datos): default y information_schema.

Explorador de catálogo

  1. Inicie sesión en un área de trabajo vinculada al metastore.

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

  3. Haga clic en el botón Crear catálogo.

  4. En el cuadro de diálogo Crear un catálogo nuevo, escriba un Nombre de catálogo y seleccione el Tipo de catálogo que quiera crear:

    • Catálogo estándar: un objeto protegible que organiza los recursos de datos e IA administrados por Unity Catalog. Para todos los casos de uso excepto la federación de Lakehouse y los catálogos creados a partir de recursos compartidos de Delta Sharing.
    • Catálogo externo: un objeto protegible que refleja una base de datos en un sistema de datos externo mediante la federación de Lakehouse. Consulte Introducción a la configuración de la federación de Lakehouse.
    • Catálogo compartido: un objeto protegible que organiza los datos y otros recursos que se comparten con usted como recurso compartido de Delta Sharing. La creación de un catálogo a partir de un recurso compartido hace que esos recursos estén disponibles para que los usuarios del área de trabajo los lean. Vea ¿Qué es un recurso compartido?.
  5. En función del tipo de catálogo, especifique las siguientes opciones:

    • Para los catálogos estándar: es opcional, pero se recomienda encarecidamente especificar una ubicación de almacenamiento administrada. Debe tener el privilegio CREATE MANAGED STORAGE en la ubicación externa de destino que use como ubicación de almacenamiento administrada. Consulte Especificar una ubicación de almacenamiento administrada en Unity Catalog.

      Opcionalmente, puede especificar una subruta de una ubicación externa definida. Si no ha definido una ubicación externa, puede crear una si hace clic en Crear una nueva ubicación externa.

      Importante

      Si el área de trabajo no tiene una ubicación de almacenamiento de nivel de metastore, debe especificar una ubicación de almacenamiento administrada al crear un catálogo.

    • Para los catálogos externos: debe seleccionar una conexión, un objeto protegible en Unity Catalog que especifica una ruta de acceso y credenciales para acceder a un sistema de base de datos externo. Consulte Introducción a la configuración de la federación de Lakehouse.

      Cuando haya seleccionado la conexión, escriba el nombre de la Base de datos u otro catálogo de Databricks que quiera reflejar.

      Los requisitos difieren en función del origen de datos:

      • MySQL usa un espacio de nombres de dos capas y, por tanto, no requiere un nombre de base de datos.
      • Para las conexiones a un catálogo en otro área de trabajo de Databricks, escriba el nombre del catálogo de Databricks en lugar de un nombre de base de datos.

      Si no ha definido una conexión, puede crear una si hace clic en Crear una nueva conexión.

    • Para los catálogos compartidos: debe seleccionar un Proveedor y un Recurso compartido. Una vez que haya seleccionado el proveedor, puede seleccionar uno de los recursos compartidos del proveedor.

      Si no está seguro de qué proveedor y recurso compartido quiere, es posible que le resulte más fácil examinar o buscar proveedores y recursos compartidos mediante el explorador del Explorador de catálogos. Vea Visualización de proveedores y Visualización de recursos compartidos que un proveedor ha compartido con usted.

  6. Haga clic en Crear.

  7. En el cuadro de diálogo Catálogo creado, haga clic en Ver catálogo para aceptar el catálogo como configurado automáticamente o bien haga clic en Configurar catálogo (recomendado) para configurar permisos de catálogo, enlaces de área de trabajo y metadatos.

    Si hace clic en Ver catálogo, el catálogo será accesible para todas las áreas de trabajo asociadas al metastore y se concederá el privilegio BROWSE a todos los usuarios de la cuenta. Puede omitir el resto de los pasos descritos en este procedimiento y continuar con la adición de esquemas al catálogo. Vea Creación de esquemas.

    Puede volver a la página de detalles del catálogo en el Explorador de catálogos en cualquier momento para actualizar el propietario, las etiquetas, los comentarios, los enlaces del área de trabajo, los permisos y los esquemas.

  8. En la página Configurar catálogo > Áreas de trabajo, especifique el área de trabajo a la que está enlazado el catálogo.

    De manera predeterminada, el catálogo se comparte con todas las áreas de trabajo asociadas al metastore actual. Si el catálogo va a contener datos que se deben restringir a áreas de trabajo específicas, desactive la opción Todas las áreas de trabajo tienen acceso y use el botón Asignar a áreas de trabajo para agregar esas áreas de trabajo. Se debe incluir el área de trabajo actual.

    Después de asignar un área de trabajo, opcionalmente puede cambiar su nivel de acceso Lectura y escritura predeterminado a Solo lectura: seleccione el área de trabajo en la lista y haga clic en el botón Administrar nivel de acceso.

    Para obtener más información, vea Limitar el acceso de catálogo a áreas de trabajo específicas.

  9. Haga clic en Siguiente para asignar Permisos al catálogo.

    Todos los usuarios de la cuenta tienen el privilegio BROWSE de manera predeterminada, lo que les permite detectar metadatos de catálogo sin tener acceso de lectura a los datos.

    Para conceder un privilegio a un usuario, grupo o entidad de servicio, haga clic en Conceder y siga las instrucciones de Privilegios y objetos protegibles de Unity Catalog.

  10. Haga clic en Siguiente para agregar Metadatosopcionales de etiqueta y comentario.

    Las etiquetas son pares clave-valor que puede usar para organizar y clasificar catálogos a fin de simplificar la búsqueda y detección de los recursos de datos. Los valores son opcionales. Vea Aplicar etiquetas a objetos protegibles de Unity Catalog.

    Un comentario es un campo abierto que a menudo se usa para proporcionar una descripción para ayudar a los usuarios a detectar los recursos de datos en el catálogo. Vea Agregar comentarios a los recursos de inteligencia artificial y datos.

  11. Haga clic en Save(Guardar).

  12. Agregue esquemas y objetos de datos al catálogo.

    Vea Creación de esquemas.

Puede usar el Explorador de catálogos para actualizar el propietario, las etiquetas, los comentarios, los enlaces del área de trabajo y los permisos en cualquier momento después de haber creado el catálogo.

SQL

Para crear un catálogo estándar, ejecute el siguiente comando SQL en un cuaderno o en el editor de consultas SQL. Los elementos entre corchetes son opcionales. Reemplace los valores de marcador de posición:

  • <catalog-name>: Un nombre para el catálogo.

  • <location-path>: opcional, pero muy recomendable. Proporcione una ruta de acceso de la ubicación de almacenamiento si quiere que las tablas administradas de este catálogo se almacenen en una ubicación diferente al almacenamiento raíz predeterminado configurado para el metastore.

    Importante

    Si el área de trabajo no tiene una ubicación de almacenamiento a nivel de metastore, debe especificar una ubicación de almacenamiento administrada al crear un catálogo.

    Esta ruta de acceso debe definirse en una configuración de ubicación externa y debe tener el privilegio CREATE MANAGED STORAGE en la configuración de ubicación externa. Puede usar la ruta de acceso definida en la configuración de ubicación externa o un subtrazado (es decir, 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance' o 'abfss://my-container-name@storage-account-name.dfs.core.windows.net/finance/product').

  • <comment>: descripción opcional u otro comentario.

CREATE CATALOG [ IF NOT EXISTS ] <catalog-name>
   [ MANAGED LOCATION '<location-path>' ]
   [ COMMENT <comment> ];

Por ejemplo, para crear un catálogo denominado example:

CREATE CATALOG IF NOT EXISTS example;

Para crear un catálogo compartido, ejecute el siguiente comando en un cuaderno o en el editor de consultas SQL. Los elementos entre corchetes son opcionales.

CREATE CATALOG [IF NOT EXISTS] <catalog-name>
USING SHARE <provider-name>.<share-name>;
[ COMMENT <comment> ];

Para crear un catálogo externo, ejecute el siguiente comando en un cuaderno o en el editor de consultas SQL. Los elementos entre corchetes son opcionales. Reemplace los valores de marcador de posición:

  • <catalog-name>: nombre del catálogo en Azure Databricks.
  • <connection-name>: El objeto de conexión que especifica el origen de datos, la ruta de acceso y las credenciales de acceso.
  • <database-name>: nombre de la base de datos que desea reflejar como un catálogo en Azure Databricks. No es necesario para MySQL, que usa un espacio de nombres de dos capas. Para la federación de Lakehouse Databricks-to-Databricks, use catalog '<external-catalog-name>' en su lugar.
  • <external-catalog-name>: Solo Databricks a Databricks : nombre del catálogo en el área de trabajo de Databricks externa que va a reflejar. Vea Ejecución de consultas federadas en otro área de trabajo de Databricks.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS [(database '<database-name>') | (catalog '<external-catalog-name>')];

Vea también Creación de un catálogo externo.

Para limitar el acceso de catálogo a áreas de trabajo específicas de la cuenta, también conocida como enlace de catálogo de áreas de trabajo, vea Limitar el acceso de catálogo a áreas de trabajo específicas.

Para obtener descripciones de los parámetros detalladas, vea CREATE CATALOG.

Después de crear el catálogo, asigne privilegios al catálogo. Consulte Privilegios de Unity Catalog y objetos protegibles.

Otros

Terraform: puede crear un catálogo con el proveedor de Databricks Terraform y databricks_catalog. Puede recuperar información sobre los catálogos mediante databricks_catalogs.

API REST: use POST /api/2.1/unity-catalog/catalogs.

CLI de Databricks: databricks catalogs create <catalog-name> [options] para obtener una lista de opciones, ejecute databricks catalogs create -h. Las opciones también se describen en la referencia de API. Siga el vínculo API del párrafo anterior.

Después de crear el catálogo, asigne privilegios al catálogo. Consulte Privilegios de Unity Catalog y objetos protegibles.

Información adicional