Acerca del linaje de datos

El linaje de datos es una función de Dataplex que te permite hacer un seguimiento de cómo se mueven los datos a través de tus sistemas: de dónde provienen, de dónde se pasan y qué transformaciones se les aplican.

¿Por qué necesitas el linaje de datos?

Trabajar con grandes conjuntos de datos suele implicar la transformación de datos en entidades adaptadas a las necesidades de un proyecto específico: archivos de texto, tablas, informes, paneles y modelos.

Por ejemplo, imagina que tienes una tienda en línea en la que registras cada compra en una sola tabla de SQL. Para facilitar a los analistas trabajar con los datos, comienzas a ejecutar trabajos que extraigan información de esta tabla única y produzcan tablas más pequeñas por región, marca o precio de oferta. Luego, los analistas comienzan a hacer lo mismo: realizan más transformaciones y combinan estas tablas más pequeñas con otras fuentes de datos para producir aún más tablas.

Esto puede convertirse en un gran desafío para los interesados:

  • Los consumidores de datos no pueden usar una herramienta de autoservicio para comprender si los datos provienen de una fuente autorizada.
  • Los ingenieros de datos no pueden causar problemas debido a la falta de una manera confiable de realizar un seguimiento de todas las transformaciones de datos.
  • Los ingenieros y analistas de datos no pueden evaluar completamente el posible impacto antes de modificar o borrar tablas.
  • Los administradores de datos no pueden comprender cómo se usan los datos sensibles en toda la organización y garantizar el cumplimiento de los requisitos reglamentarios.

El linaje de datos es una solución que proporciona una forma práctica de hacer lo siguiente:

  • Comprender cómo se obtienen y transforman los datos con la ayuda de las visualizaciones de gráficos de linaje
  • Haz un seguimiento de los errores relacionados con entradas y operaciones de datos hasta sus causas raíz.
  • Permite una mejor administración de cambios a través del análisis del impacto: evita el tiempo de inactividad o los errores inesperados, comprende las entradas dependientes y colabora con las partes interesadas relevantes.

Gráfico de visualización de linaje

Los gráficos de linaje representan la información que recopila la API de Data Lineage para una entrada particular de Data Catalog:

En el gráfico de muestra, se muestran datos de dos tablas que se transforman y se combinan en una nueva, con un panel de detalles que muestra el código SQL anclado en la parte inferior.
Figure 1. Ejemplo de un gráfico de visualización de linaje en la IU de Dataplex.

Dataplex trabaja con la API de Data Lineage para identificar entradas cuyo nombre completamente calificado coincide con entidades reconocidas por el linaje de datos. Para las entradas de Dataplex coincidentes, puedes acceder a la pestaña Linaje en su página de detalles y ver el gráfico.

Los gráficos de linaje muestran dos tipos de elementos:

  • Botones rectangulares anchos que representan entidades involucradas en la construcción de información de linaje como fuentes o destinos de un evento de linaje
  • Botones cuadrados más pequeños que representan los procesos responsables de crear o actualizar las entidades de origen o de destino. Los botones de proceso usan íconos específicos del sistema de origen que los informaron a la API de Data Lineage. Por ejemplo, los trabajos de BigQuery usan el ícono Ícono del proceso de linaje de BigQuery..

Modelo de información del linaje de datos

En su forma básica, el linaje es un registro de los datos que se transforman de fuentes a destinos. La API de Data Lineage recopila esa información y la organiza en un modelo de datos jerárquico con conceptos de procesos, ejecuciones y eventos.

Procesos

Un proceso es la definición de una operación de transformación de datos admitida para un sistema específico. En el contexto del linaje de BigQuery, un process es uno de los tipos de trabajo compatibles.

Ejecución

Una ejecución corresponde a la realización de un proceso. Los procesos pueden tener varias ejecuciones. Las ejecuciones contienen detalles como horas de inicio y finalización, el estado o atributos adicionales. Para obtener más información, consulta la referencia del recurso run.

Evento

Un evento representa un momento en el que se llevó a cabo una operación de transformación de datos y dio como resultado el traslado de datos entre una fuente y una entidad de destino.

Los eventos contienen una lista de vínculos que definen qué entrada fue la fuente y cuál fue el destino en un evento en particular. Si bien los eventos se usan para calcular los gráficos de visualización de linaje, no se exponen directamente en la consola de Google Cloud. Puedes crearlas, leerlas y borrarlas (pero no actualizarlas) con la API de Data Lineage.

Ejemplo

Considera el siguiente ejemplo en el que los datos se copian entre tablas de BigQuery:

Example extrae datos de tablas llamadas customer_year y customers para derivar una tabla llamada top_customer.
Figura 2: Ejemplo de un gráfico que muestra las fuentes de datos de la tabla.

La forma en que se mueven los datos entre las tablas se describe en el proceso de linaje (representado en el gráfico por el ícono Ícono del proceso de linaje de BigQuery.): puede ser una consulta CREATE TABLE AS SELECT de SQL o una declaración INSERT.

Cada ejecución de esa instrucción de SQL constituiría una run individual. Las ejecuciones contienen eventos, que registran qué tablas se usaron como fuentes y cuáles como destinos. En este ejemplo, las tablas customer_year y customers son la fuente de la tabla top_customer de destino.

Seguimiento automático del linaje de datos

Cuando habilitas la API de Data Lineage, los sistemas de Google Cloud que admiten el linaje de datos comienzan a informar su movimiento de datos. Cada sistema integrado puede enviar información de linaje para una variedad de fuentes de datos. Consulta las siguientes secciones para obtener más detalles sobre cada producto compatible.

BigQuery

Habilitar el linaje de datos en tu proyecto de BigQuery hace que Dataplex registre de forma automática la información del linaje para lo siguiente:

Los trabajos de copia, consulta y carga de BigQuery se representan como procesos (haz clic en el ícono de espejo en el gráfico de visualización del linaje para ver los detalles del proceso). Cada proceso contiene el job_id de BigQuery en la lista de atributos del trabajo de BigQuery más reciente.

Otros servicios

El linaje de datos admite la integración en los siguientes servicios de Google Cloud:

Linaje de datos para fuentes de datos personalizadas

Puedes usar la API de Data Lineage en Dataplex para registrar la información del linaje de forma manual en cualquier fuente de datos que no sea compatible con los sistemas integrados.

Dataplex puede crear gráficos de visualización para el linaje registrado de forma manual si usas un fullyQualifiedNames que coincida con los nombres completamente calificados de las entradas de Data Catalog existentes. Si deseas registrar el linaje de una fuente de datos personalizada, primero crea una entrada personalizada de Data Catalog.

Cada proceso para la fuente de datos personalizada puede contener una clave sql en la lista de atributos. El valor de esa clave se usará para renderizar el código destacado en el panel de detalles del gráfico de linaje de datos. la instrucción de SQL que se mostrará tal como se la proporcionó. El usuario es responsable de filtrar la información sensible. El nombre de clave sql distingue mayúsculas de minúsculas.

OpenLineage

Si ya usas OpenLineage para recopilar información de linaje de otras fuentes de datos, puedes importar eventos de OpenLineage a Dataplex y mostrarlos en la consola de Google Cloud. Para obtener más detalles, consulta Integra con OpenLineage.

Limitaciones actuales de las funciones

  • Toda la información del linaje se retiene en el sistema solo por 30 días.
  • La información del linaje persiste después de que quitas la fuente de datos relacionada. Es decir, si quitas una tabla de BigQuery y su entrada de Data Catalog, puedes leer el linaje de esa tabla con la API hasta por 30 días.

Accede al linaje de datos

Puedes acceder a las funciones de linaje de datos con lo siguiente:

¿Qué sigue?