Data Lineage API は、リネージ収集のオープン標準である OpenLineage と統合されたシステムからリネージ情報を取り込むことができます。ProcessOpenLineageRunEvent メソッドを使用して OpenLineage 形式のイベントを Data Lineage API に送信すると、Data Lineage API は OpenLineage メッセージの属性を Data Lineage API の対応する属性にマッピングします。
このドキュメントでは、これらのマッピングのリファレンス テーブルを提供します。
属性のマッピング
ProcessOpenLineageRunEvent REST API メソッドは、次のように OpenLineage 属性を Data Lineage API 属性にマッピングします。
| Data Lineage API 属性 | OpenLineage 属性 |
|---|---|
| Process.name | projects/PROJECT_NUMBER/locations/LOCATION/processes/HASH_OF_NAMESPACE_AND_NAME |
| Process.displayName | Job.namespace + ":" + Job.name |
| Process.attributes | Job.facets(保存データを参照) |
| 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(保存データを参照) |
| 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(例: projects/11111111/locations/us/processes/1234/runs/4321/lineageEvents/111-222-333) |
| LineageEvent.EventLinks.source | 入力(fqn は名前空間と名前を連結したもの) |
| LineageEvent.EventLinks.target | 出力(fqn は名前空間と名前を連結したもの) |
| LineageEvent.startTime | eventTime |
| LineageEvent.endTime | eventTime |
| requestId | メソッド ユーザーによって定義される |
FQN マッピング
次の表に、さまざまなシステムの OpenLineage 名前空間と名前のペアの例と、同等の Dataplex Universal Catalog の完全修飾名(FQN)を示します。
| システム | OpenLineage Namespace | OpenLineage 名 | Dataplex Universal Catalog FQN |
|---|---|---|---|
| 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} |
非対応 |
| DB2 | db2://{host}:{port} |
|
|
| Hive | hive://{host}:{port} |
{database}.{table} |
非対応 |
| MSSQL | mssql://{host}:{port} |
{database}.{schema}.{table} |
非対応 |
| OceanBase | oceanbase://{host}:{port} |
{database}.{table} |
非対応 |
| Oracle | oracle://{host}:{port} |
{serviceName}.{schema}.{table} or {sid}.{schema}.{table} |
|
| Postgres | postgres://{host}:{port} |
|
|
| Teradata | teradata://{host}:{port} |
{database}.{table} |
非対応 |
| 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} |
Dataplex Universal Catalog ではサポートされているが、データリネージではサポートされていない |
| 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} |
| ローカル ファイル システム | file |
{path} |
filesystem:localhost.{path} |
| リモート ファイル システム | file://{host} |
{path} |
filesystem:{hostWithPort}.{path} |
| S3 | s3://{bucket name} |
{object key} |
名前空間プレフィックス s3a と s3n も受け入れられ、s3 に変換されます。 |
| WASBS(Azure Blob Storage) | wasbs://{container name}@{service name}.dfs.core.windows.net |
{object key} |
|
| Pub/Sub トピック | pubsub |
topic:{projectId}:{topicId} |
pubsub:topic:{projectId}.{topicId} |
| Pub/Sub サブスクリプション | pubsub |
subscription:{projectId}:{subscriptionId} |
pubsub:subscription:{projectId}.{subscriptionId} |
使用できるその他の形式
OpenLineage は、次のシステムに対して標準の namespace/name ペアを定義していませんが、Data Lineage API は、次の表で説明するようにフォーマットされたリネージ イベントを受け入れます。Namespace custom の OpenLineage メッセージで参照されるリソースは、カスタムの完全修飾名として解釈されます。
| システム | OpenLineage Namespace | OpenLineage 名 | Dataplex Universal Catalog FQN |
|---|---|---|---|
| カスタム FQN | custom |
{some reference} |
custom:{someReference} |
| Dataproc Metastore | dataproc_metastore |
|
|
次のステップ
- OpenLineage と統合する方法を確認する。
- 完全修飾名のリファレンスをご覧ください。
- データリネージ API を確認する。
- リネージ情報を表示する方法を確認する。