Mit der Data Lineage API können Lineage-Informationen aus Systemen aufgenommen werden, die in OpenLineage integriert sind, einem offenen Standard für die Erfassung von Lineage-Informationen.
Wenn Sie Ereignisse im OpenLineage-Format mit der Methode ProcessOpenLineageRunEvent an die Data Lineage API senden, werden Attribute aus der OpenLineage-Nachricht den entsprechenden Attributen in der Data Lineage API zugeordnet.
Dieses Dokument enthält Referenztabellen für diese Zuordnungen.
Attributzuordnung
Die REST API-Methode ProcessOpenLineageRunEvent ordnet OpenLineage-Attribute Data Lineage API-Attributen zu:
| Data Lineage API-Attribute | OpenLineage-Attribute |
|---|---|
| Process.name | projects/PROJECT_NUMBER/locations/LOCATION/processes/HASH_OF_NAMESPACE_AND_NAME |
| Process.displayName | Job.namespace + ":" + Job.name |
| Process.attributes | Job.facets (siehe Gespeicherte Daten) |
| Run.name | projects/PROJECT_NUMBER/locations/LOCATION/processes/HASH_OF_NAMESPACE_AND_NAME/runs/HASH_OF_RUNID |
| Run.displayName | Run.runId |
| Run.attributes | Run.facets (siehe Gespeicherte Daten) |
| Run.startTime | eventTime |
| Run.endTime | eventTime |
| Run.state | eventType |
| LineageEvent.name | projects/PROJECT_NUMBER/locations/LOCATION/processes/HASH_OF_NAMESPACE_AND_NAME/runs/HASH_OF_RUNID/lineageEvents/HASH_OF_JOB_RUN_INPUT_OUTPUTS_OF_EVENT (z. B. projects/11111111/locations/us/processes/1234/runs/4321/lineageEvents/111-222-333) |
| LineageEvent.EventLinks.source | inputs (fqn ist die Verkettung von Namespace und Name) |
| LineageEvent.EventLinks.target | Ausgaben (fqn ist die Verkettung von Namespace und Name) |
| LineageEvent.startTime | eventTime |
| LineageEvent.endTime | eventTime |
| requestId | Wird vom Methodenbenutzer definiert. |
FQN-Zuordnung
In der folgenden Tabelle finden Sie Beispiele für OpenLineage-Namespace- und ‑Namenspaare für verschiedene Systeme sowie die entsprechenden vollständig qualifizierten Namen (Fully Qualified Names, FQN) im Dataplex Universal Catalog:
| System | OpenLineage-Namespace | OpenLineage-Name | Vollständig qualifizierter Name (Fully Qualified Name, FQN) für Dataplex Universal Catalog |
|---|---|---|---|
| Athena | awsathena://athena.{region_name}.amazonaws.com |
|
|
| AWS Glue | arn:aws:glue:{region}:{account id} |
table/{database name}/{table name} |
aws_glue:table:{region}.{account id}.{database name}.{table name} |
| Azure Cosmos DB | azurecosmos://{host}/dbs/{database} |
colls/{table} |
|
| Azure Data Explorer | azurekusto://{host}.kusto.windows.net |
{database}/{table} |
|
| Azure Synapse | sqlserver://{host}:{port} |
|
|
| BigQuery | bigquery |
|
|
| Cassandra | cassandra://{host}:{port} |
|
|
| MySQL | mysql://{host}:{port} |
|
|
| CrateDB | crate://{host}:{port} |
{database}.{schema}.{table} |
Nicht unterstützt |
| DB2 | db2://{host}:{port} |
|
|
| Hive | hive://{host}:{port} |
{database}.{table} |
Nicht unterstützt |
| MSSQL | mssql://{host}:{port} |
{database}.{schema}.{table} |
Nicht unterstützt |
| OceanBase | oceanbase://{host}:{port} |
{database}.{table} |
Nicht unterstützt |
| Oracle | oracle://{host}:{port} |
{serviceName}.{schema}.{table} or {sid}.{schema}.{table} |
|
| Postgres | postgres://{host}:{port} |
|
|
| Teradata | teradata://{host}:{port} |
{database}.{table} |
Nicht unterstützt |
| Redshift | redshift://{cluster_identifier}.{region_name}:{port} |
|
|
| Snowflake | snowflake://{organization name}-{account name} or snowflake://{account-locator}(.{compliance})(.{cloud_region_id})(.{cloud}) |
|
|
| Spanner | spanner://{projectId}:{instanceId} |
{database}.{schema}.{table} |
Wird in Dataplex Universal Catalog unterstützt, aber nicht in Data Lineage |
| Trino | trino://{host}:{port} |
|
|
| ABFSS (Azure Data Lake Gen2) | abfss://{container name}@{service name}.dfs.core.windows.net |
{path} |
|
| DBFS (Databricks File System) | dbfs://{workspace name} |
{path} |
|
| Cloud Storage | gs://{bucket name} |
{object key} |
|
| HDFS | hdfs://{namenode host}:{namenode port} |
{path} |
|
| Kafka | kafka://{bootstrap server host}:{port} |
{topic} |
kafka:{serverHostWithPort}.{topicId} |
| Lokales Dateisystem | file |
{path} |
filesystem:localhost.{path} |
| Remote-Dateisystem | file://{host} |
{path} |
filesystem:{hostWithPort}.{path} |
| S3 | s3://{bucket name} |
{object key} |
s3a und s3n werden ebenfalls akzeptiert und in s3 konvertiert.
|
| WASBS (Azure Blob Storage) | wasbs://{container name}@{service name}.dfs.core.windows.net |
{object key} |
|
| Pub/Sub-Thema | pubsub |
topic:{projectId}:{topicId} |
pubsub:topic:{projectId}.{topicId} |
| Pub/Sub-Abo | pubsub |
subscription:{projectId}:{subscriptionId} |
pubsub:subscription:{projectId}.{subscriptionId} |
Zusätzliche zulässige Formate
OpenLineage definiert zwar keine Standardpaare aus namespace/name für die folgenden Systeme, die Data Lineage API akzeptiert jedoch Lineage-Ereignisse für sie, wenn sie wie in der folgenden Tabelle beschrieben formatiert sind. Ressourcen, auf die in OpenLineage-Nachrichten mit dem Namespace custom verwiesen wird, werden als benutzerdefinierte vollständig qualifizierte Namen interpretiert.
| System | OpenLineage-Namespace | OpenLineage-Name | Vollständig qualifizierter Name (Fully Qualified Name, FQN) für Dataplex Universal Catalog |
|---|---|---|---|
| Benutzerdefinierter FQDN | custom |
{some reference} |
custom:{someReference} |
| Dataproc Metastore | dataproc_metastore |
|
|
Nächste Schritte
- Informationen zur Integration mit OpenLineage
- Weitere Informationen finden Sie in der Referenz zu vollständig qualifizierten Namen.
- Data Lineage API
- Informationen zum Ansehen von Informationen zur Herkunft