Acerca del linaje de datos

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

¿Por qué necesitas el linaje de datos?

Trabajar con grandes conjuntos de datos suele implicar la transformación de datos en entidades adaptadas según 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 que sea más fácil para tus analistas trabajar con los datos, empiezas a ejecutar trabajos que extraen información de esta única tabla y producir tablas más pequeñas por región, marca o precio de venta. Luego, tus analistas empiezan a hacer lo mismo: realizan más transformaciones y fusionan estas tablas 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 llegan de fuentes confiables.
  • Los ingenieros de datos no pueden causar problemas debido a la falta de un método confiable para rastrear todas las transformaciones de datos.
  • Los ingenieros y analistas de datos no pueden evaluar completamente el posible impacto antes modificar o borrar tablas.
  • Los administradores de datos no pueden entender cómo se usan los datos sensibles en todo de 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 del linaje visualizaciones en gráficos.
  • Hacer un seguimiento de los errores relacionados con entradas y operaciones de datos hasta la raíz causas.
  • Permitir una mejor gestión de cambios a través del análisis del impacto: evitar el tiempo de inactividad o errores inesperados, comprender las entradas dependientes y colaborar con a las partes interesadas relevantes.

Gráfico de visualización de linaje

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

El gráfico de muestra muestra los datos de dos tablas que se están transformando y, luego, se combinan
  en una nueva tabla, 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 cuyas el nombre completamente calificado coincide con las entidades reconocidas por el linaje de datos. Para las entradas de Dataplex coincidentes, puedes acceder al Linaje en su página de detalles y mira el gráfico.

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

  • Botones rectangulares anchos que representan entidades involucradas en Construir 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 informó a la API de Data Lineage. Por ejemplo, los trabajos de BigQuery usa el Ícono de Í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 los organiza en un modelo de datos jerárquico usando los conceptos de procesos, ejecuciones y eventos.

Proceso

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

Ejecutar

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 determinado en el que se llevó a cabo una operación de transformación de datos y dio como resultado que los datos se movieran entre una entidad de origen y una entidad objetivo.

Los eventos contienen una lista de vínculos que definen cuál entrada fue la fuente. y cuál era el objetivo de un evento en particular. Mientras que los eventos se usan para calcular 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 BigQuery tablas:

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 del proceso de linaje de BigQuery. ): puede ser una consulta CREATE TABLE AS SELECT de SQL o una sentencia INSERT.

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

Seguimiento automático del linaje de datos

Cuando habilitas la API de Data Lineage, los sistemas de Google Cloud que admiten y el linaje de datos empiezan 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 en todos los productos admitidos.

BigQuery

Habilitar el linaje de datos en tu proyecto de BigQuery causa Dataplex registra automáticamente la información de linaje para lo siguiente:

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

Otros servicios

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

Dataplex puede crear gráficos de visualización para registrarlos manualmente el linaje si usas un fullyQualifiedNames que coincidan con Nombres calificados de entradas existentes de Data Catalog. Si quieres grabar para una fuente de datos personalizada, primero crea un entrada personalizada de Data Catalog.

Cada proceso para la fuente de datos personalizada puede contener una clave sql en los atributos lista. El valor de esa clave se usará para renderizar en detalle el código destacado del gráfico de linaje de datos. La instrucción de SQL se mostrará como estaba que se proporcionan. El usuario es responsable de filtrar la información sensible. El 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 puedes importar eventos de OpenLineage a Dataplex y mostrar estos eventos en la consola de Google Cloud. Para obtener más información, consulta Integra 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 Data Catalog aún puedes leer el linaje de esa tabla usando la API hasta por un 30 días.

Accede al linaje de datos

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

¿Qué sigue?