Acerca del linaje de datos

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

¿Por qué necesitas el linaje de datos?

Tratar con conjuntos de datos grandes a menudo implica transformar 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, 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 generar 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 y garantizar el cumplimiento de los requisitos reglamentarios.

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

  • Comprende cómo se obtienen y transforman los datos con la ayuda de las visualizaciones de gráficos 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 muestran los 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 acoplado 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 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 la información de linaje como fuentes u 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 de 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 de 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.

Proceso

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

Realiza la 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, 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 provocó que los datos se trasladaran 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 específico. Si bien los eventos se usan para calcular los gráficos de visualización de 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:

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

La forma en que se mueven los datos entre las tablas se describe a través del proceso de linaje (representado en el gráfico con el ícono Ícono del proceso de linaje de BigQuery.): puede 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 de destino 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 un rango diferente de fuentes de datos. Consulta las siguientes secciones para obtener más detalles sobre cada producto compatible.

BigQuery

La habilitación del linaje de datos en tu proyecto de BigQuery hace que Dataplex registre automáticamente la información de linaje para los siguientes elementos:

Los trabajos de copia, consulta y carga de BigQuery se representan como procesos (haz clic en el ícono de lupa 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 de BigQuery más reciente.

Otros servicios

El linaje de datos es compatible con 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 es 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 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. Se mostrará la instrucción de SQL tal como se 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 Integración con OpenLineage.

Limitaciones actuales de las funciones

  • Toda la información de linaje se conserva en el sistema solo por 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 puedes leer el linaje de esa tabla mediante la API por hasta 30 días.

Linaje de datos de acceso

Puedes acceder a las funciones de linaje de datos por medio de las siguientes opciones:

¿Qué sigue?