¿Qué son los catálogos de Azure Databricks?
Un catálogo es la unidad principal de la organización de datos en el modelo de gobernanza de datos del catálogo de Unity de Azure Databricks. En este artículo se proporciona información general sobre los catálogos en el catálogo de Unity y cómo usarlos mejor.
Los catálogos son la primera capa del espacio de nombres de tres niveles de Unity Catalog (catalog.schema.table-etc
). Contienen esquemas, que a su vez pueden contener tablas, vistas, volúmenes, modelos y funciones. Los catálogos se registran en un metastore de Catálogo de Unity en la cuenta de Azure Databricks.
¿Cómo debo organizar mis datos en catálogos?
Al diseñar el modelo de gobernanza de datos, debe pensar detenidamente en los catálogos que cree. Como el nivel más alto del modelo de gobernanza de datos de la organización, cada catálogo debe representar una unidad lógica de aislamiento de datos y una categoría lógica de acceso a datos, lo que permite que una jerarquía eficaz de concesiones fluya a esquemas y a los objetos de datos que contienen. Por lo tanto, los catálogos suelen reflejar las unidades organizativas o los ámbitos del ciclo de vida de desarrollo de software. Puede elegir, por ejemplo, tener un catálogo para datos de producción y un catálogo para datos de desarrollo, o un catálogo para datos que no son de cliente y otro para datos confidenciales de los clientes.
Aislamiento de datos mediante catálogos
Normalmente, cada catálogo tiene su propia ubicación de almacenamiento administrada para almacenar tablas y volúmenes administrados, lo que proporciona aislamiento de datos físicos en el nivel de catálogo. También puede elegir almacenar datos en el nivel de metastore, proporcionando una ubicación de almacenamiento predeterminada para los catálogos que no tienen una ubicación de almacenamiento administrada propia. Puede agregar almacenamiento en el nivel de esquema para un aislamiento de datos más granular.
Dado que la cuenta de Azure Databricks tiene un metastore por región, los catálogos están intrínsecamente aislados por región.
Para más información, consulte ¿Qué son los objetos de base de datos en Azure Databricks? y Los datos están separados físicamente en el almacenamiento.
Privilegios de nivel de catálogo
Dado que los elementos secundarios de ese objeto heredan las concesiones en cualquier objeto catalog de Unity, tener un catálogo o tener privilegios amplios en un catálogo es muy eficaz. Por ejemplo, los propietarios del catálogo tienen todos los privilegios en el catálogo y los objetos del catálogo, y pueden conceder acceso a cualquier objeto del catálogo. Los usuarios con SELECT
en un catálogo pueden leer cualquier tabla del catálogo. Los usuarios con CREATE TABLE
en un catálogo pueden crear una tabla en cualquier esquema del catálogo.
Para aplicar el principio de privilegios mínimos, donde los usuarios tienen el acceso mínimo que necesitan para realizar sus tareas necesarias, normalmente solo se concede acceso a los objetos o niveles específicos de la jerarquía que requiere el usuario. Pero los privilegios de nivel de catálogo permiten al propietario del catálogo administrar lo que los propietarios de objetos de nivel inferior pueden conceder. Incluso si a un usuario se le concede acceso a un objeto de datos de bajo nivel como una tabla, por ejemplo, ese usuario no puede tener acceso a esa tabla a menos que también tenga el USE CATALOG
privilegio en el catálogo que contiene la tabla.
Para obtener más información, consulte Administrar la propiedad de objetos del catálogo de Unity, los tipos de privilegios generales del catálogo de Unity y los bloques de creación de aislamiento de datos y gobernanza de datos.
Tipos de catálogo
Al crear un catálogo, se le proporcionan dos opciones:
- Catálogo estándar: el catálogo típico, que se usa como unidad principal para organizar los objetos de datos en el catálogo de Unity. Este es el tipo de catálogo que se describe en este artículo.
- Catálogo externo: un objeto catalog de Unity que solo se usa en escenarios de federación de Lakehouse. Un catálogo externo refleja una base de datos en un sistema de datos externo, lo que le permite realizar consultas de solo lectura en ese sistema de datos en el área de trabajo de Azure Databricks. Consulte ¿Qué es la Federación Lakehouse?
Además de esos dos tipos de catálogo, Azure Databricks aprovisiona automáticamente los catálogos siguientes al crear una nueva área de trabajo:
hive_metastore
catalog: este es el repositorio de todos los datos administrados por el metastore de Hive heredado en áreas de trabajo de Azure Databricks. Cuando se convierte un área de trabajo de catálogo que no es de Unity existente en el catálogo de Unity, todos los objetos registrados en el metastore de Hive heredado se muestran en el catálogo de Unity en elhive_metastore
catálogo. Para obtener información sobre cómo trabajar con el metastore de Hive junto con el catálogo de Unity, consulte Trabajar con el catálogo de Unity y el metastore de Hive heredado. El metastore de Hive está en desuso y todas las áreas de trabajo de Azure Databricks deben migrar a Unity Catalog.- Catálogo del área de trabajo: en todas las áreas de trabajo nuevas, este catálogo se crea automáticamente de forma predeterminada. Normalmente, comparte su nombre con el nombre del área de trabajo. Si existe este catálogo, todos los usuarios del área de trabajo (y solo el área de trabajo) tienen acceso a él de forma predeterminada, lo que hace que sea un lugar cómodo para que los usuarios prueben el proceso de creación y acceso a objetos de datos en el Catálogo de Unity. Consulte Paso 1: Confirmar que el área de trabajo está habilitada para Unity Catalog.
Catálogo predeterminado
Se configura un catálogo predeterminado para cada área de trabajo habilitada para Unity Catalog. El catálogo predeterminado permite realizar operaciones de datos sin especificar un catálogo. Si omite el nombre del catálogo de nivel superior cuando lleva a cabo operaciones de datos, se asume el uso del catálogo predeterminado.
Si el área de trabajo se ha habilitado automáticamente para el catálogo de Unity, el catálogo del área de trabajo aprovisionado previamente se especifica como catálogo predeterminado. Un administrador del área de trabajo puede cambiar el catálogo predeterminado según sea necesario.
Para obtener más información, consulte Administrar el catálogo predeterminado.
Enlace del catálogo del área de trabajo
Si usa áreas de trabajo para aislar el acceso a datos de usuario, es posible que desee usar enlaces de catálogo de áreas de trabajo. Los enlaces de catálogo de áreas de trabajo permiten limitar el acceso al catálogo por límites del área de trabajo. Por ejemplo, puede asegurarse de que los administradores del área de trabajo y los usuarios solo pueden acceder a los datos de producción desde un prod_catalog
entorno de área de trabajo de producción, prod_workspace
. Los catálogos se comparten con todas las áreas de trabajo asociadas al metastore actual a menos que especifique un enlace. Consulte Organizar los datos y Limitar el acceso de catálogo a áreas de trabajo específicas.
Si el área de trabajo se ha habilitado automáticamente para el catálogo de Unity, el catálogo del área de trabajo aprovisionado previamente se enlaza al área de trabajo de forma predeterminada.