Exporting data lineage to OpenLineage format

Export data lineage to the OpenLineage payload format and integrate data lineage with third-party platforms that support the OpenLineage standard.

Overview

When you export data lineage to the OpenLineage format, it is exported as .json files. The export files conform to the OpenLineage standard as described in OpenLineage API.

The following payload types are created:

  • DataSet Event - to capture lineage assets, such as tables or reports, and their metadata.
  • RunEvent - to capture runtime lineage relations, and metadata of the transformation jobs.
  • Job Event - to capture design lineage relations and metadata of the transformation jobs.

The following facets are created to capture specific lineage and asset metadata information:

Supported data sources for lineage export

Data lineage from these sources can be exported to the OpenLineage format:

  • Amazon RDS for Oracle
  • Google BigQuery
  • Greenplum
  • IBM Cloud Databases for PostgreSQL
  • IBM DataStage for Cloud Pak for Data
  • IBM Db2 on Cloud
  • IBM Netezza Performance Server
  • Microsoft Azure SQL Database
  • Microsoft Power BI (Azure)
  • Microsoft SQL Server
  • Microsoft SQL Server Integration Services (SSIS)
  • Oracle
  • Qlik Sense
  • SAP HANA
  • Snowflake
  • Tableau
  • Teradata

Format of generated .json files

Data set

See the example format of the generated .json file for a data set:

{
    "eventTime": "2026-04-29T11:20:20.523Z",
    "producer": "https://github.com/OpenLineage/OpenLineage/tree/1.46.0/integration/watsonx.data.intelligence",
    "schemaURL": "https://openlineage.io/spec/2-0-2/OpenLineage.json#/$defs/DatasetEvent",
    "dataset": {
      "namespace": "postgresql-azure://test-host:1234",
      "name": "ORCL.DWH.TableA",
      "facets": {
        "documentation": {
          "_producer": "https://openlineage.io/spec/facets/1-0-0/DocumentationDatasetFacet.json",
          "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/DocumentationDatasetFacet.json",
          "description": "no description"
        },
        "dataSource": {
          "_producer": "https://openlineage.io/spec/facets/1-0-0/DatasourceDatasetFacet.json",
          "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/DatasourceDatasetFacet.json",
          "name": "PROD1"
        },
        "schema": {
          "_producer": "https://openlineage.io/spec/facets/1-0-0/SchemaDatasetFacet.json",
          "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/SchemaDatasetFacet.json",
          "fields": [
            {
              "name": "A1",
              "type": "string",
              "description": "Column A1 of table TableA"
            },
            {
              "name": "A2",
              "type": "string",
              "description": "Column A2 of table TableA"
            },
            {
              "name": "A3",
              "type": "string",
              "description": "Column A3 of table TableA"
            }
          ]
        },
        "datasetType": {
          "_producer": "https://openlineage.io/spec/facets/1-0-0/DatasetTypeDatasetFacet.json",
          "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/DatasetTypeDatasetFacet.json",
          "datasetType": "TABLE"
        },
        "tags": {
          "_producer": "https://openlineage.io/spec/facets/1-0-0/TagsDatasetFacet.json",
          "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/TagsDatasetFacet.json",
          "tags": ["tag1", "tag2"]
        }
      }
    }
  }

Job

See the example format of the generated .json file for a job:

{
    "eventTime": "2026-04-29T11:20:20.523Z",
    "producer": "https://github.com/OpenLineage/OpenLineage/tree/1.46.0/integration/watsonx.data.intelligence",
    "schemaURL": "https://openlineage.io/spec/2-0-2/OpenLineage.json#/$defs/JobEvent",
    "job": {
      "namespace": "postgresql-azure://test-host:1234",
      "name": "Import LOAN",
      "facets": {
        "documentation": {
          "_producer": "https://openlineage.io/spec/facets/1-0-0/DocumentationJobFacet.json",
          "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/DocumentationJobFacet.json",
          "description": "Job description"
        },
        "jobType": {
          "_producer": "https://openlineage.io/spec/facets/2-0-2/JobTypeJobFacet.json",
          "_schemaURL": "https://openlineage.io/spec/facets/2-0-2/JobTypeJobFacet.json",
          "processingType": "BATCH",
          "jobType": "JOB",
          "integration": "IBM Manta Data Lineage"
        },
        "sourceCode": {
          "_producer": "https://openlineage.io/spec/facets/1-0-0/SourceCodeJobFacet.json",
          "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/SourceCodeJobFacet.json",
          "language": "unknown",
          "sourceCode": "the plain string field"
        },
        "tags": {
          "_producer": "https://openlineage.io/spec/facets/1-0-0/TagsJobFacet.json",
          "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/TagsJobFacet.json",
          "tags": ["tag1", "tag2"]
        }
      }
    },
    "inputs": [
      {
        "namespace": "postgresql-azure://test-host:1234",
        "name": "ORCL.DWH.TableA",
        "facets": {
          "documentation": {
            "_producer": "https://openlineage.io/spec/facets/1-0-0/DocumentationDatasetFacet.json",
            "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/DocumentationDatasetFacet.json",
            "description": "no description"
          },
          "dataSource": {
            "_producer": "https://openlineage.io/spec/facets/1-0-0/DatasourceDatasetFacet.json",
            "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/DatasourceDatasetFacet.json",
            "name": "PROD1"
          },
          "schema": {
            "_producer": "https://openlineage.io/spec/facets/1-0-0/SchemaDatasetFacet.json",
            "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/SchemaDatasetFacet.json",
            "fields": [
              {
                "name": "A1",
                "type": "string",
                "description": "Column A1 of table TableA"
              },
              {
                "name": "A2",
                "type": "string",
                "description": "Column A2 of table TableA"
              },
              {
                "name": "A3",
                "type": "string",
                "description": "Column A3 of table TableA"
              }
            ]
          },
          "datasetType": {
            "_producer": "https://openlineage.io/spec/facets/1-0-0/DatasetTypeDatasetFacet.json",
            "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/DatasetTypeDatasetFacet.json",
            "datasetType": "TABLE"
          },
          "tags": {
            "_producer": "https://openlineage.io/spec/facets/1-0-0/TagsDatasetFacet.json",
            "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/TagsDatasetFacet.json",
            "tags": []
          }
        }
      }
    ],
    "outputs": [
      {
        "namespace": "postgresql-azure://test-host:1234",
        "name": "ORCL.DWH.TableB",
        "facets": {
          "documentation": {
            "_producer": "https://openlineage.io/spec/facets/1-0-0/DocumentationDatasetFacet.json",
            "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/DocumentationDatasetFacet.json",
            "description": "no description"
          },
          "dataSource": {
            "_producer": "https://openlineage.io/spec/facets/1-0-0/DatasourceDatasetFacet.json",
            "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/DatasourceDatasetFacet.json",
            "name": "ORCL.DWH.TableB"
          },
          "schema": {
            "_producer": "https://openlineage.io/spec/facets/1-0-0/SchemaDatasetFacet.json",
            "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/SchemaDatasetFacet.json",
            "fields": [
              {
                "name": "C1",
                "type": "string",
                "description": "Column C1 of table TableB"
              },
              {
                "name": "C2",
                "type": "string",
                "description": "Column C2 of table TableB"
              }
            ]
          },
          "datasetType": {
            "_producer": "https://openlineage.io/spec/facets/1-0-0/DatasetTypeDatasetFacet.json",
            "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/DatasetTypeDatasetFacet.json",
            "datasetType": "TABLE"
          },
          "tags": {
            "_producer": "https://openlineage.io/spec/facets/1-0-0/TagsDatasetFacet.json",
            "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/TagsDatasetFacet.json",
            "tags": []
          },
          "columnLineage": {
            "_producer": "https://openlineage.io/spec/facets/1-0-0/ColumnLineageDatasetFacet.json",
            "_schemaURL": "https://openlineage.io/spec/facets/1-0-0/ColumnLineageDatasetFacet.json",
            "fields": {
              "C1": {
                "inputFields": [
                  {
                    "namespace": "postgresql-azure://test-host:1234",
                    "name": "ORCL.DWH.TableA",
                    "field": "A1",
                    "transformations": []
                  },
                  {
                    "namespace": "postgresql-azure://test-host:1234",
                    "name": "ORCL.DWH.TableA",
                    "field": "A2",
                    "transformations": []
                  }
                ]
              },
              "C2": {
                "inputFields": [
                  {
                    "namespace": "postgresql-azure://test-host:1234",
                    "name": "ORCL.DWH.TableA",
                    "field": "A3",
                    "transformations": []
                  }
                ]
              }
            }
          }
        }
      }
    ]
  }

Learn more