Trazabilidad externa

El Catálogo de Unity captura automáticamente el linaje de datos en tiempo de ejecución entre las consultas que se ejecutan en Azure Databricks. Sin embargo, es posible que tenga cargas de trabajo que se ejecuten fuera de Azure Databricks (por ejemplo, ETL de primera milla o BI de última milla). El catálogo de Unity le permite agregar metadatos de linaje externos para aumentar el linaje de datos de Azure Databricks que captura automáticamente, lo que proporciona una vista de linaje de un extremo a otro en el catálogo de Unity. Esto resulta útil cuando desea capturar dónde proceden los datos (por ejemplo, Salesforce o MySQL) antes de ingerirlos en el Catálogo de Unity o en los que los datos se consumen fuera del catálogo de Unity (por ejemplo, Tableau o Power BI).

Puede agregar linaje externo de dos maneras:

El siguiente gráfico de linaje muestra dos tablas externas de MySQL y PostgreSQL que se ingirieron en Azure Databricks como una tabla administrada de Unity Catalog, con columnas transformadas en una columna release_date, y que luego fueron consumidas por un informe externo.

Gráfico de linaje que muestra tablas ascendentes externas y un informe de bajada conectado a una tabla de catálogo de Unity, con el botón Crear linaje externo en la esquina superior derecha.

Para obtener información general sobre el linaje de datos en Azure Databricks, consulte Linaje en el catálogo de Unity.

Requisitos

Para agregar metadatos de linaje externos en el catálogo de Unity, debe tener los siguientes privilegios, en función de la tarea específica:

  • Para crear un objeto protegible de metadatos externos en Unity Catalog, debe tener el privilegio CREATE EXTERNAL METADATA en el metastore.
  • Para especificar relaciones de linaje entre un objeto de metadatos externo y cualquier otro objeto del Catálogo de Unity, debe tener el MODIFY privilegio en el objeto de metadatos externo.
  • Para especificar una relación de linaje descendente con un objeto Catalog de Unity, debe tener privilegios de lectura en el objeto (por ejemplo, SELECT en una tabla).
  • Para especificar una relación de linaje ascendente con un objeto Catalog de Unity, debe tener privilegios de escritura en el objeto (por ejemplo, MODIFY en una tabla).

Adición de metadatos de linaje externo

Para agregar metadatos de linaje externos:

  1. Cree un objeto protegible de metadatos externos en el catálogo de Unity.

    Este objeto representa una entidad en un sistema externo, como un panel de Tableau.

  2. Configure una relación de linaje entre el objeto de metadatos externos y otro objeto del Catálogo de Unity, como una tabla, un modelo, una ruta u otro objeto de metadatos externos.

    Cuando haya creado relaciones de linaje, el objeto de metadatos externos aparece en la vista de gráfico de linaje.

Puede crear objetos de metadatos externos y configurar relaciones de linaje mediante la interfaz de usuario del Explorador de catálogos. Para empezar desde un gráfico de linaje existente, haga clic en Crear linaje externo en la esquina superior derecha del gráfico. También puede comenzar desde la sección Datos externos del Explorador de catálogos, como se describe en las secciones siguientes.

Creación de un objeto de metadatos externos

Puede crear un objeto de metadatos externo mediante el Explorador de catálogos o la API de metadatos externos.

Para usar el Explorador de catálogos para crear un objeto de metadatos externo:

  1. En el área de trabajo de Azure Databricks, haga clic en el icono Datos.Catálogo.

  2. Haga clic en el botón Datos >externos, vaya a la pestaña Metadatos externos y haga clic en Crear metadatos externos.

  3. Especifique los detalles de los metadatos.

    Requerido:

    • Nombre: Escriba un nombre comprensible que ayude a los usuarios de Azure Databricks a entender lo que están viendo en la vista de linaje. Los objetos de metadatos externos son objetos protegibles del catálogo de Unity, por lo que el nombre debe seguir las reglas de nomenclatura de objetos de Catálogo de Unity. Consulte Requisitos de nomenclatura de objetos protegibles.
    • Tipo de sistema: seleccione en la lista de datos externos comunes y sistemas de BI. Si no encuentra el suyo, seleccione Personalizado.
    • Tipo de entidad: escriba el tipo de objeto, como "tabla" o "panel".

    Opcional:

    • Dirección URL: escriba la dirección URL del objeto si desea que los visores de gráficos de linaje puedan hacer clic en el recurso externo (por ejemplo, un panel de Tableau).
    • Descripción

    Avanzado:

    • Columnas: si desea realizar la asignación de nivel de columna de este objeto externo a otro objeto catalog de Unity, escriba los nombres de columna. Seleccione la interfaz de usuario para escribirlas de una en una o entrada de texto para escribir una lista delimitada por comas en un único cuadro de texto.
    • Propiedades: si hay otras propiedades que desea realizar un seguimiento en el linaje, escríbalas como pares clave-valor JSON. Puede usar la interfaz de usuario para escribir cada par clave-valor o escribir un objeto JSON completo.
  4. Haga clic en Crear.

    Un cuadro de diálogo le ofrece la opción de ver el objeto de metadatos externos o crear relaciones de linaje para el objeto .

Creación de relaciones de linaje

Puede crear relaciones de linaje mediante el Explorador de catálogos, la API de linaje externo o el SDK de Databricks para Python.

Para agregar relaciones entre un objeto de metadatos externo y otros objetos catalog de Unity:

  1. Siga el mensaje mencionado anteriormente o busque el objeto de metadatos externos existente en el Explorador de catálogos:

    1. Haga clic en el icono Datos.Catálogo
    2. Haga clic en el botón Datos >externos.
    3. Vaya a la pestaña Metadatos externos y seleccione el objeto de metadatos externos.
  2. Haga clic en Crear relación de linaje.

  3. Seleccione si desea crear una relación ascendente o descendente.

  4. Escriba el tipo de objeto al que desea crear la relación:

    • Tabla: seleccione la tabla mediante el cuadro de diálogo de búsqueda.
    • Modelo: seleccione el modelo mediante el cuadro de diálogo de búsqueda y, a continuación, seleccione la versión del modelo.
    • Ruta: Para volúmenes o ubicaciones externas, introduzca la ruta.
    • Metadatos externos: seleccione el objeto de metadatos externos en el menú desplegable.
  5. (Opcional) Haga clic en Opciones avanzadas para agregar:

    • Asignaciones de columnas entre el objeto de metadatos externo y el objeto de origen o de destino.
    • Otros metadatos como JSON de pares clave-valor. Por ejemplo, puede usarlos para escribir el texto de la consulta que creó una tabla a partir del objeto de metadatos externos o anotaciones que explican el flujo de trabajo externo que generó la relación.
  6. Haga clic en Crear.

Ahora puede ver la relación de linaje externo en la pestaña Linaje de los objetos relacionados.

Modelar relaciones de linaje externo

Al agregar el linaje externo manualmente, use los siguientes patrones para modelar relaciones más complejas:

  • Conectar dos tablas de catálogo de Unity: para especificar una relación de linaje entre dos tablas registradas en el catálogo de Unity, cree un objeto de metadatos externo que se encuentra entre ellas. Especifique una tabla como ascendente para el objeto de metadatos externos y la otra como descendente para que aparezcan conectados en el gráfico de linaje.
  • Agregar varios niveles de linaje: para anotar los datos que pasan a través de varios sistemas antes de entrar en Azure Databricks, cree varios objetos de metadatos externos y configure relaciones de linaje externo entre cada uno de ellos.
  • Agregar linaje de nivel de columna: especifique los nombres de columna al crear el objeto de metadatos externos y, a continuación, asigne las columnas de origen y de destino al configurar la relación de linaje.

Limitaciones

  • El linaje externo no se registra en las tablas del sistema de linaje (system.access.table_lineage y system.access.column_lineage).
  • Puede crear hasta 10 000 objetos de metadatos externos y 100 000 relaciones de linaje externo por metastore. Consulte Límites de los recursos.

Recursos adicionales