El linaje de datos es una función de Dataflow 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.
Cada canalización que ejecutas con Dataflow tiene varios recursos de datos asociados. El linaje de un recurso de datos incluye su origen, lo que sucede con él y dónde se mueve con el tiempo. Con el linaje de datos, puedes hacer un seguimiento del movimiento de extremo a extremo de tus recursos de datos, desde el origen hasta el destino final.
Cuando habilitas el linaje de datos para tus trabajos de Dataflow, Dataflow captura eventos de linaje y los publica en la API de Data Lineage de Dataplex Universal Catalog.
Para acceder a la información del linaje a través de Dataplex Universal Catalog, consulta Cómo usar el linaje de datos con sistemas de Google Cloud .
Antes de comenzar
Configura tu proyecto:
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataplex Universal Catalog, BigQuery, and Data lineage APIs.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Dataplex Universal Catalog, BigQuery, and Data lineage APIs.
-
Visualizador del catálogo de Dataplex (
roles/dataplex.catalogViewer
) en el proyecto de recursos de Dataplex Universal Catalog -
Visualizador de linaje de datos (
roles/datalineage.viewer
) en el proyecto en el que usas Dataflow -
Visualizador de Dataflow (
roles/dataflow.viewer
) en el proyecto en el que usas Dataflow - El linaje de datos es compatible con las versiones 2.63.0 y posteriores del SDK de Apache Beam.
- Debes habilitar el linaje de datos para cada trabajo.
- La captura de datos no es instantánea. Los datos de linaje de los trabajos de Dataflow pueden tardar unos minutos en aparecer en Dataplex Universal Catalog.
Se admiten las siguientes fuentes y receptores:
- Apache Kafka
- BigQuery
- Bigtable
- Cloud Storage
- JDBC (conectividad a bases de datos de Java)
- Pub/Sub
- Spanner
Las plantillas de Dataflow que usan estas fuentes y receptores también capturan y publican automáticamente eventos de linaje.
process_id
: Es un identificador único que Dataplex Universal Catalog usa para agrupar las ejecuciones de trabajos. Si no se especifica, se usa el nombre del trabajo.process_name
: Es un nombre legible para el proceso de linaje de datos. Si no se especifica, se usa el nombre del trabajo con el prefijo"Dataflow "
.- Obtén más información sobre el linaje de datos.
- Obtén más información para usar el linaje de datos.
En Dataflow, también debes habilitar el linaje a nivel del trabajo. Consulta Habilita el linaje de datos en Dataflow en este documento.
Roles obligatorios
Para obtener los permisos que necesitas para ver los gráficos de visualización de linaje, pídele a tu administrador que te otorgue los siguientes roles de IAM:
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
Para obtener más información sobre los roles de linaje de datos, consulta Roles predefinidos para el linaje de datos.
Asistencia y limitaciones
El linaje de datos en Dataflow tiene las siguientes limitaciones:
Habilita el linaje de datos en Dataflow
Debes habilitar el linaje a nivel del trabajo. Para habilitar el linaje de datos, usa la opción de servicio de Dataflow enable_lineage
de la siguiente manera:
Java
--dataflowServiceOptions=enable_lineage=true
Python
--dataflow_service_options=enable_lineage=true
Go
--dataflow_service_options=enable_lineage=true
gcloud
Usa el comando gcloud dataflow jobs run
con la opción additional-experiments
. Si usas plantillas de Flex, usa el comando gcloud dataflow flex-template run
.
--additional-experiments=enable_lineage=true
De manera opcional, puedes especificar uno o ambos de los siguientes parámetros con la opción de servicio:
Especifica estas opciones de la siguiente manera:
Java
--dataflowServiceOptions=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME
Python
--dataflow_service_options=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME
Go
--dataflow_service_options=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME
gcloud
--additional-experiments=enable_lineage=process_id=PROCESS_ID;process_name=DISPLAY_NAME
Consulta el linaje en Dataplex Universal Catalog
El linaje de datos proporciona información sobre las relaciones entre los recursos de tu proyecto y los procesos que los crearon. Puedes ver la información del linaje de datos en la consola de Google Cloud en forma de gráfico o de una sola tabla. También puedes recuperar información del linaje de datos de la API de Data Lineage en forma de datos JSON.
Para obtener más información, consulta Usa el linaje de datos con sistemas de Google Cloud .
Inhabilita el linaje de datos en Dataflow
Si el linaje de datos está habilitado para un trabajo específico y deseas inhabilitarlo, cancela el trabajo existente y ejecuta una nueva versión del trabajo sin la opción de servicio enable_lineage
.
Facturación
El uso del linaje de datos en Dataflow no afecta tu factura de Dataflow, pero puede generar cargos adicionales en tu factura de Dataplex Universal Catalog. Para obtener más información, consulta Consideraciones sobre el linaje de datos y Precios de Dataplex Universal Catalog.