Acerca del linaje de datos

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

¿Por qué necesitas el linaje de datos?

Tratar con conjuntos de datos grandes 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 el trabajo con los datos, comienza a ejecutar trabajos que extraen información de esta tabla única y producen 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 forma confiable de realizar un seguimiento de todas las transformaciones de datos.
  • Los ingenieros y analistas de datos no pueden evaluar del todo 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 ni 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 del gráfico de linaje
  • Rastrea los errores relacionados con las entradas y las 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 observan datos de dos tablas que se transforman y, luego, se combinan en una tabla nueva, con un panel de detalles que muestra el código SQL conectado 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 coincida con entidades reconocidas por el linaje de datos. Para las entradas coincidentes de Dataplex, puedes acceder a la pestaña Lineage 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 objetivos 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 del proceso usan íconos específicos del sistema de origen que los informó 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 objetivos. La API de Data Lineage recopila esa información y la organiza en un modelo de datos jerárquico mediante los 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 admitidos.

Ejecución

Una ejecución corresponde a la realización de un proceso. Los procesos pueden tener varias ejecuciones. Las ejecuciones contienen detalles como las 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 esto generó el traslado de datos entre una entidad de origen y una de destino.

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

Ejemplo

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

En este ejemplo, se extraen datos de tablas llamadas customer_year y clientes para derivar una tabla llamada top_customer.
Figura 2: Ejemplo de un gráfico en el que se muestran las fuentes de los datos de la tabla.

Cómo se mueven los datos entre las tablas mediante el proceso de linaje (representado en el gráfico por el ícono Ícono del proceso de linaje de BigQuery.): podría ser una consulta CREATE TABLE AS SELECT de SQL o una instrucció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 objetivo top_customer.

Seguimiento automatizado 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 el movimiento de sus datos. Cada sistema integrado puede enviar información de linaje para distintas fuentes de datos. Consulta las siguientes secciones para obtener más detalles sobre cada producto compatible.

BigQuery

Si habilitas el linaje de datos en tu proyecto de BigQuery, Dataplex registra automáticamente la información del linaje para los siguientes elementos:

.

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

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 de forma manual la información de linaje de cualquier fuente de datos que no sea compatible con los sistemas integrados.

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

Cada proceso de la fuente de datos personalizada puede contener la 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 se mostrará tal como se proporcionó. El usuario es responsable de filtrar la información sensible. El nombre de la 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 conserva en el sistema solo durante 30 días.
  • La información del linaje persiste después de quitar la fuente de datos relacionada. Es decir, si quitas una tabla de BigQuery y su entrada de Data Catalog, aún podrás leer el linaje de esa tabla mediante la API hasta por 30 días.

Accede al linaje de datos

Puedes acceder a las funciones del linaje de datos usando lo siguiente:

¿Qué sigue?