Saltar al contenido principal

Catálogo Unity de Databricks: Guía para principiantes

Comprende los aspectos básicos del Catálogo Unity de Databricks en esta guía de introducción y configuración.
Actualizado 20 feb 2025  · 10 min de lectura

Así que acabas de oír hablar del Catálogo Unity de Databricks. Y ahora te preguntarás de qué se trata y qué papel desempeña en la gestión moderna de datos.

Esta completa guía te presentará el Catálogo Unity de Databricks y te ayudará a comprender su importancia en el análisis de datos en la pila de datos moderna.

¿Qué es el Catálogo Unity de Databricks?

Databricks Unity Catalog es un servicio unificado de gobierno de datos que simplifica y agiliza gestión de datos para cargas de trabajo analíticas. Reúne todos los tipos de metadatos utilizados por diversas herramientas de inteligencia empresarial, bases de datos, almacenes de datosy lagos de datos en una ubicación central. Esto fomenta la interoperabilidad entre sistemas, facilitando la búsqueda y el acceso a datos estructurados y no estructurados.

A medida que las organizaciones amplían sus operaciones de datos, la gestión del acceso, la gobernanza y el cumplimiento en múltiples plataformas de datos se vuelve compleja. Unity Catalog aborda este reto proporcionando una capa unificada para los metadatos, el control de acceso y el seguimiento del linaje, reduciendo la sobrecarga operativa.

Este enfoque centralizado de la gobernanza de datos aporta algunas ventajas a la hora de compartir productos de datos comunes, como:

Los componentes principales del Catálogo Unity de Databricks incluyen:

  • Metastore: Una capa de almacenamiento de metadatos que simplifica la localización de datos y mejora su linaje.
  • Catálogo: Un repositorio central para almacenar, gestionar y descubrir activos de datos.
  • Esquema: Un modelo de datos utilizado para organizar y gestionar los activos de datos en el Catálogo Unity de Databricks.
  • Granularidad: El nivel de detalle disponible en el seguimiento de metadatos. Permite a los equipos gestionar el acceso a varios niveles (catálogo, esquema, tabla o incluso columna), garantizando un control detallado de los activos de datos".
  • Tablas, vistas y volúmenes: Son los objetos de datos fundamentales del Catálogo Unity de Databricks, utilizados para representar datos estructurados y no estructurados.
  • Linaje de datos: Una representación visual del flujo de datos desde su origen hasta su destino, que ayuda a seguir los cambios y a garantizar la integridad de los datos.

Estos componentes trabajan juntos para proporcionar una solución integral de gobierno de datos que simplifica la gestión de datos y fomenta la colaboración entre equipos.

Ventajas del Catálogo Unity

Utilizar el Catálogo Unity de Databricks tiene varias ventajas clave, como te explicamos a continuación:

1. Gobernanza de datos y cumplimiento

Databricks Unity Catalog proporciona una ubicación centralizada para almacenar y gestionar metadatos, garantizando gobierno de datos y el cumplimiento en los distintos sistemas.

Por ejemplo, Unity Catalog proporciona alertas para la detección potencial de PII en modelos de aprendizaje automático en producción. El linaje de datos permite retroceder fácilmente en estos modelos.

Esto ayuda a las organizaciones a mantener la integridad de los datos, cumplir la normativa y reducir los riesgos.

2. Colaboración y análisis de autoservicio

El Catálogo Unity fomenta la colaboración entre equipos al proporcionar una ubicación central para almacenar activos de datos. Esto elimina los silos y fomenta la comunicación interfuncional, promoviendo el autoservicio analítico.

Los analistas de datos y los usuarios empresariales pueden descubrir y acceder fácilmente a los activos de datos relevantes, reduciendo el tiempo dedicado a las tareas de preparación de datos.

Casos de uso clave del Catálogo Unity

Hay varias formas de implementar el Catálogo de Unidad: 

1. Control de acceso a los datos y seguridad

Databricks Unity Catalog permite a las organizaciones implantar un control de acceso detallado para los activos de datos, garantizando que sólo puedan acceder a ellos los usuarios autorizados. También permite compartir de forma segura datos sensibles entre equipos.

2. Descubrimiento de datos y linaje

Gestión de metadatos gestión de metadatos permiten un descubrimiento eficaz de los datos y proporcionan una representación visual del flujo de datos desde su origen hasta su destino. Esto ayuda a rastrear los cambios en los conjuntos de datos, permitiendo la auditoría y la resolución de problemas.

3. Agilizar el cumplimiento y las auditorías

Con un repositorio centralizado para todos los activos de datos y su linaje, Unity Catalog simplifica los procesos de auditoría e informes de cumplimiento. Esto reduce el tiempo y el esfuerzo necesarios para garantizar el cumplimiento de la normativa.

Cómo activar el Catálogo Unity en Databricks

Ahora, vamos a probar el Catálogo Unity utilizando este sencillo tutorial de configuración:

Requisitos previos

Antes de que puedas activar y utilizar el Catálogo Unity, asegúrate de que cumples los siguientes requisitos:

Plan Databricks premium o enterprise

El Catálogo Unity sólo es compatible con los niveles Premium o Enterprise de Databricks. Asegúrate de que tu espacio de trabajo Databricks está en uno de estos planes.

Permisos adecuados

  • Administrador de cuenta: Debes tener el rol de Administrador de Cuenta en Databricks para configurar y gestionar el Catálogo Unity a nivel de cuenta.
  • Administrador del espacio de trabajo: Debes ser Administrador del Espacio de Trabajo en el espacio de trabajo en el que quieras activar el Catálogo de Unity.

Disponibilidad del metastore

El Catálogo Unity requiere un metastore a nivel de cuenta. Si no has creado uno, tendrás que hacerlo durante la configuración. Para una cuenta Databricks de prueba, tendrás un catálogo con metastore ya creado para ti.

Plataformas en la nube compatibles

Actualmente, el Catálogo Unity es compatible con:

  • AWS
  • Azure
  • GCP

Asegúrate de que utilizas un entorno Databricks compatible en una de estas nubes.

Almacenamiento gestionado o ubicaciones externas

Decide si vas a aprovechar las tablas gestionadas (almacenamiento gestionado) o crear tablas externas que hagan referencia a datos en una ubicación externa (como S3, ADLS o GCS). Cada enfoque puede tener diferentes requisitos de permiso.

Activar el Catálogo Unity: Guía paso a paso

  1. Accede a la consola de la cuenta Databricks
    • Ir a la Consola de Cuenta Databricks (la URL puede variar ligeramente para AWS, Azure o GCP). Utiliza un usuario administrador de cuenta para acceder.

inicio de sesión en la consola databricks

  1. Acceder a la página del Catálogo
    • En el panel de navegación izquierdo (en la consola de cuentas), busca Catálogo dependiendo de tu versión de Databricks.
    • En una versión de prueba de Databricks, se deberían haber creado un metastore y un catálogo de Almacén Inicial sin Servidor.
  2. Iniciar el cálculo del almacén SQL
    • En el panel de navegación izquierdo, selecciona Almacenes SQLy, a continuación, inicia el Almacén Inicial sin Servidor haciendo clic en el botón Reproducir de la derecha.

  1. Asignar a espacios de trabajo
    • En Espacios de trabajo en la configuración del Catálogo, adjunta el espacio o espacios de trabajo que deben utilizar este catálogo.

Configurar el Catálogo Unity

  1. Asignar permisos
    • Como administrador, ve a Catálogo en la barra lateral izquierda de tu espacio de trabajo Databricks.
    • Selecciona el espacio de trabajo que quieres gestionar.
    • Haz clic en la pestañaPermisos para configurar los permisos (por ejemplo, quién puede crear catálogos, esquemas y tablas). Por defecto, el administrador de la cuenta o del espacio de trabajo puede tener privilegios totales, pero puedes delegar privilegios en otros usuarios o grupos.

  1. Crea Catálogos y Esquemas (si es necesario)
    • Puedes crear catálogos y esquemas adicionales para diferentes equipos, proyectos o dominios de datos. Esto suele hacerse mediante comandos SQL (que se muestran a continuación).
-- Creates a new catalog named "demo_catalog"
CREATE CATALOG IF NOT EXISTS demo_catalog
COMMENT 'This catalog is created for Unity Catalog demo';
  1. Configurar ubicaciones externas (opcional)Si necesitas tablas externas almacenadas en ubicaciones externas:
    • Crea una ubicación externa en el Catálogo de Unity que apunte a tu almacenamiento en la nube (S3, ADLS o GCS).
    • Concede a los usuarios o grupos acceso para leer y escribir en estas ubicaciones a través del Catálogo Unity.

Código de ejemplo y uso

A continuación encontrarás algunos ejemplos de cuadernos de notas/SQL de Databricks que puedes utilizar una vez configurado el Catálogo Unity en tu espacio de trabajo. 

Puedes ejecutarlos en un cuaderno Databricks o en el Editor SQL dentro de tu espacio de trabajo.

Conceder privilegios en un catálogo

Conceder privilegios a un catálogo garantiza que determinados grupos de usuarios puedan acceder a los datos almacenados en él e interactuar con ellos. Sin embargo, USAGE por sí solo no permite a los usuarios consultar datos, simplemente les permite ver que el catálogo existe. Para permitir una interacción completa, tienes que conceder privilegios adicionales a nivel de esquema o de tabla.

Por ejemplo, para que los ingenieros de datos puedan acceder a un catálogo:

-- Grant USAGE to a specific group on the newly created catalog
GRANT USAGE ON CATALOG demo_catalog TO data_engineers_group;

Si también necesitan crear esquemas dentro de este catálogo:

GRANT CREATE ON CATALOG demo_catalog TO data_engineers_group;

Crear un esquema (base de datos) dentro del catálogo

Un esquema en Unity Catalog organiza tablas y vistas dentro de un catálogo, de forma similar a como una base de datos contiene tablas en los sistemas RDBMS tradicionales. Utilizar IF NOT EXISTS evita errores si el esquema ya existe.

Para crear un esquema para los datos analíticos dentro de demo_catalog:

CREATE SCHEMA IF NOT EXISTS demo_catalog.analytics
COMMENT 'Schema for analytics data';

Tras la creación, puede que necesites conceder privilegios a usuarios concretos:

GRANT USAGE ON SCHEMA demo_catalog.analytics TO data_analysts_group;

Esto permite al grupo_analistas_datos ver el esquema pero no consultar aún sus tablas.

Crear una tabla gestionada

Las tablas gestionadas están totalmente controladas por Unity Catalog, lo que significa que Databricks se encarga del almacenamiento y el seguimiento de los metadatos. Esto simplifica la gestión, pero significa que los datos se borran si se elimina la tabla.

Para crear una tabla gestionada para los datos de ventas:

USE CATALOG demo_catalog;
USE SCHEMA analytics;

CREATE TABLE IF NOT EXISTS sales_data (
  transaction_id STRING,
  product_id STRING,
  quantity INT,
  price DECIMAL(10,2),
  transaction_date DATE
)
COMMENT 'Managed table for sales data';

Conceder privilegios en una tabla

Conceder privilegios de tabla garantiza que los usuarios puedan consultar o modificar los datos. El privilegio SELECT permite a los usuarios leer datos, pero no modificarlos.

Para permitir a los científicos de datos leer de la tabla de ventas:

GRANT SELECT ON TABLE demo_catalog.analytics.sales_data TO data_scientists_group;
 

Si necesitan insertar nuevos registros, concede INSERT:

GRANT INSERT ON TABLE demo_catalog.analytics.sales_data TO data_scientists_group;
 

Para un control total (leer, escribir, modificar), utiliza:

GRANT ALL PRIVILEGES ON TABLE demo_catalog.analytics.sales_data TO data_scientists_group;

Configuración de la ubicación externa

Si tienes una ubicación de datos externa (por ejemplo, S3 en AWS), puedes crear un objeto de ubicación externa en el Catálogo de Unity:

-- Create an external location named "demo_external_location"
CREATE EXTERNAL LOCATION demo_external_location
URL 's3://my-demo-bucket/my-path/'
WITH CREDENTIAL my_storage_credential
COMMENT 'External location for demo data';

-- Grant read and write privileges to a group
GRANT READ, WRITE ON EXTERNAL LOCATION demo_external_location
TO data_engineers_group;

Arquitectura del Catálogo Unity de Databricks

Databricks Unity Catalog está construido sobre el proyecto de código abierto Apache Sparkque proporciona una plataforma informática distribuida para el procesamiento de datos a gran escala. Utiliza el Hive Metastore para almacenar metadatos sobre conjuntos de datos y tablas, lo que permite una gestión y un rendimiento de las consultas eficientes.

La arquitectura del Catálogo Unity incluye tres componentes principales:

  1. Almacén de metadatos: Este componente almacena todos los metadatos relacionados con conjuntos de datos, tablas, ubicaciones externas y otros objetos.
  2. Catálogo: Este componente actúa como interfaz entre el Almacén de Metadatos y la capa de cálculo. Proporciona una vista unificada de todos los metadatos almacenados en el Almacén de Metadatos, facilitando a los usuarios el acceso y la consulta de sus datos.
  3. Espacios de trabajo: Los espacios de trabajo son ubicaciones virtuales donde se pueden almacenar y gestionar datos de forma segura. Permiten una fácil colaboración entre equipos al proporcionar una ubicación central para el acceso a los datos y su manipulación.

componentes de databricks

Fuente: Databricks

Con Databricks Unity Catalog, los usuarios pueden gestionar y consultar fácilmente sus datos sin tener que preocuparse de la infraestructura subyacente. También pueden colaborar con otros miembros del equipo concediéndoles permisos específicos, como privilegios de lectura y escritura, para diferentes conjuntos de datos o tablas.

Para conceder estos permisos, los usuarios pueden utilizar comandos SQL como "GRANT" para especificar qué usuarios o grupos pueden acceder a determinados datos. Esto garantiza que sólo las personas autorizadas tengan acceso a la información sensible.

Cómo se integra el Catálogo Unity con los sistemas de datos existentes

Unity Catalog se integra perfectamente con los sistemas de datos existentes, como Amazon S3 y Azure Blob Storagefacilitando el acceso y la gestión de datos de distintas fuentes. Esto permite a los usuarios analizar rápidamente grandes conjuntos de datos sin tener que moverlos o copiarlos manualmente en Databricks. 

El Catálogo Unity también admite varios formatos de archivo, como CSV, JSON, Parquet y Avro, lo que permite trabajar con distintos tipos de datos.

Buenas prácticas del Catálogo Unity de Databricks

Al trabajar con el Catálogo Unity, existen algunas prácticas recomendadas que pueden ayudar a garantizar una gestión de datos eficiente y eficaz. 

Entre ellas están:

  1. Utiliza convenciones de nomenclatura descriptivas para las tablas y columnas, a fin de facilitar la comprensión de los datos.
  2. Actualiza periódicamente los metadatos del Catálogo Unity para estar al tanto de los cambios realizados en los datos subyacentes.
  3. Utiliza controles de acceso para restringir el acceso a los datos sensibles, siguiendo el principio del "menor privilegio". Esto significa conceder sólo los permisos necesarios a los usuarios o grupos en función de sus funciones y responsabilidades.
  4. Utiliza etiquetas y rótulos para clasificar y organizar los conjuntos de datos dentro del Catálogo Unity, facilitando la búsqueda de datos específicos.

Estas medidas ayudarán a garantizar una gobernanza eficaz de los datos y un rendimiento óptimo.

Desafíos comunes y cómo abordarlos

El Catálogo Unity no es una solución infalible y puede plantear algunos problemas a la hora de gestionar eficazmente los datos. 

Algunos problemas comunes son:

  • Duplicación de datos: Esto ocurre cuando los mismos datos se almacenan varias veces, lo que provoca incoherencias y errores.
  • Calidad de los datos: Los datos mal mantenidos o inexactos pueden afectar a las decisiones y procesos empresariales.
  • Jerarquías de datos complejas: Los grandes conjuntos de datos con relaciones complejas pueden ser difíciles de organizar y gestionar dentro del Catálogo Unity.

Para afrontar estos retos, aquí tienes algunos consejos:

  1. Revisa y depura periódicamente los datos para evitar duplicidades. Esto incluye eliminar datos innecesarios u obsoletos.
  2. Implementar comprobaciones y validaciones de la calidad de los datos para garantizar la exactitud de los datos en el Catálogo Unity.

Reflexiones finales

Unity Catalog es una potente herramienta para gestionar datos en una única vista mediante el uso de metastores, catálogos y espacios de trabajo. Proporciona una ubicación centralizada para almacenar y organizar los datos, facilitando su gestión y utilización en tus procesos empresariales. 

¿Quieres saber más sobre Databricks? Deberías consultar nuestra Introducción a Databricks de Databricks, Tutorial de Databricks y el seminario web sobre Databricks.

Preguntas frecuentes sobre el Catálogo Unity de Databricks

¿Cuál es la diferencia entre los Databricks Unity Catalog y Hive Metastore?

Unity Catalog es un servicio unificado de metadatos que ofrece una alternativa más eficiente y escalable al tradicional Hive Metastore de Databricks. Proporciona una única fuente de verdad para todas tus necesidades de metadatos y facilita la gestión y el acceso.

¿Puedo utilizar Unity Catalog con fuentes de datos que no sean Databricks?

Sí, Unity Catalog admite tanto las tablas gestionadas por Databricks como las externas, lo que te permite integrar fácilmente metadatos de varias fuentes en una sola ubicación. Sin embargo, puede haber algunas limitaciones.

¿Cómo mejora el rendimiento el Catálogo Unity?

Al proporcionar un almacén de metadatos centralizado, el Catálogo Unity elimina la necesidad de realizar consultas frecuentes a sistemas externos, lo que se traduce en tiempos de ejecución de consultas más rápidos.


Austin Chia's photo
Author
Austin Chia
LinkedIn

Soy Austin, bloguero y escritor técnico con años de experiencia como científico de datos y analista de datos en el sector sanitario. Empecé mi andadura tecnológica con una formación en biología, y ahora ayudo a otros a hacer la misma transición a través de mi blog tecnológico. Mi pasión por la tecnología me ha llevado a escribir para decenas de empresas de SaaS, inspirando a otros y compartiendo mis experiencias.

Temas

Los mejores cursos de DataCamp

Certificación disponible

curso

Introducción a Databricks

3 hr
11.3K
Conoce la plataforma Lakehouse de Databricks y cómo puede modernizar las arquitecturas de datos y mejorar los procesos de gestión de datos.
Ver detallesRight Arrow
Comienza el curso
Ver másRight Arrow