Skip to content

Lineage model

Reference documentation

This is reference documentation covering the entire Atlan model. It is not the best place to start when trying to understand how to manage lineage in Atlan. For that, we would suggest starting with the lineage snippets.

These are the model elements in Atlan related to lineage.

classDiagram
    direction RL
    class Asset {
        <<abstract>>
    }
    link Asset "../entities/asset"
    class Referenceable {
        <<abstract>>
    }
    link Referenceable "../entities/referenceable"
    Referenceable <|-- Asset : extends
    class Process
    link Process "../lineage"
    Asset <|-- Process : extends
    class BIProcess
    link BIProcess "../entities/biprocess"
    Process <|-- BIProcess : extends
    class DbtProcess
    link DbtProcess "../entities/dbtprocess"
    Process <|-- DbtProcess : extends
    class ColumnProcess
    link ColumnProcess "../entities/columnprocess"
    Process <|-- ColumnProcess : extends
    class DbtColumnProcess
    link DbtColumnProcess "../entities/dbtcolumnprocess"
    ColumnProcess <|-- DbtColumnProcess : extends

Type-specific properties

Following are the properties uniquely available on Process assets in Atlan.

ast
TBC
1
2
3
builder.ast("String0"); // (1)
lineageProcess.getAst(); // (2)
client.assets.select().where(LineageProcess.AST.eq("String0")); // (3)
  1. Set the ast for a LineageProcess.

    For more details

    For more information, see the asset CRUD snippets on either creating or updating assets.

  2. Retrieve the ast from a LineageProcess.

    For more details

    For more information, see the asset CRUD snippets on retrieving assets.

  3. Find all assets in Atlan with their ast exactly matching the provided value.

    For more details

    For more information, see the searching section on term queries.

code
TBC
1
2
3
builder.code("String0"); // (1)
lineageProcess.getCode(); // (2)
client.assets.select().where(LineageProcess.CODE.eq("String0")); // (3)
  1. Set the code for a LineageProcess.

    For more details

    For more information, see the asset CRUD snippets on either creating or updating assets.

  2. Retrieve the code from a LineageProcess.

    For more details

    For more information, see the asset CRUD snippets on retrieving assets.

  3. Find all assets in Atlan with their code exactly matching the provided value.

    For more details

    For more information, see the searching section on term queries.

sql
TBC
1
2
3
builder.sql("String0"); // (1)
lineageProcess.getSql(); // (2)
client.assets.select().where(LineageProcess.SQL.eq("String0")); // (3)
  1. Set the sql for a LineageProcess.

    For more details

    For more information, see the asset CRUD snippets on either creating or updating assets.

  2. Retrieve the sql from a LineageProcess.

    For more details

    For more information, see the asset CRUD snippets on retrieving assets.

  3. Find all assets in Atlan with their sql exactly matching the provided value.

    For more details

    For more information, see the searching section on term queries.

ast
Parsed AST of the code or SQL statements that describe the logic of this process.
1
2
3
builder.ast = ...  # (1)
process.ast  # (2)
FluentSearch().where(FluentSearch.asset_type(Process)).where(Process.AST.eq("String0"))  # (3)
  1. Set the ast for a Process.

    For more details

    For more information, see the asset CRUD snippets on either creating or updating assets.

  2. Retrieve the ast from a Process.

    For more details

    For more information, see the asset CRUD snippets on retrieving assets.

  3. Find all assets in Atlan with their ast exactly matching the provided value.

    For more details

    For more information, see the searching section on term queries.

code
Code that ran within the process.
1
2
3
builder.code = ...  # (1)
process.code  # (2)
FluentSearch().where(FluentSearch.asset_type(Process)).where(Process.CODE.eq("String0"))  # (3)
  1. Set the code for a Process.

    For more details

    For more information, see the asset CRUD snippets on either creating or updating assets.

  2. Retrieve the code from a Process.

    For more details

    For more information, see the asset CRUD snippets on retrieving assets.

  3. Find all assets in Atlan with their code exactly matching the provided value.

    For more details

    For more information, see the searching section on term queries.

inputs
Assets that are inputs to this process.
1
2
3
builder.inputs = {...}  # (1)
process.inputs  # (2)
FluentSearch().where(FluentSearch.asset_type(Process)).where(Process.INPUTS.eq("String0"))  # (3)
  1. Set the inputs for a Process.

    For more details

    For more information, see the asset CRUD snippets on either creating or updating assets.

  2. Retrieve the inputs from a Process.

    For more details

    For more information, see the asset CRUD snippets on retrieving assets.

  3. Find all assets in Atlan with their inputs exactly matching the provided value.

    For more details

    For more information, see the searching section on term queries.

outputs
Assets that are outputs from this process.
1
2
3
builder.outputs = {...}  # (1)
process.outputs  # (2)
FluentSearch().where(FluentSearch.asset_type(Process)).where(Process.OUTPUTS.eq("String0"))  # (3)
  1. Set the outputs for a Process.

    For more details

    For more information, see the asset CRUD snippets on either creating or updating assets.

  2. Retrieve the outputs from a Process.

    For more details

    For more information, see the asset CRUD snippets on retrieving assets.

  3. Find all assets in Atlan with their outputs exactly matching the provided value.

    For more details

    For more information, see the searching section on term queries.

sql
SQL query that ran to produce the outputs.
1
2
3
builder.sql = ...  # (1)
process.sql  # (2)
FluentSearch().where(FluentSearch.asset_type(Process)).where(Process.SQL.eq("String0"))  # (3)
  1. Set the sql for a Process.

    For more details

    For more information, see the asset CRUD snippets on either creating or updating assets.

  2. Retrieve the sql from a Process.

    For more details

    For more information, see the asset CRUD snippets on retrieving assets.

  3. Find all assets in Atlan with their sql exactly matching the provided value.

    For more details

    For more information, see the searching section on term queries.

ast
TBC
1
2
3
4
5
{
  "attributes": {
    "ast": "String0" // (1)
  }
}
  1. Set the ast for a Process.

    For more details

    For more information, see the asset CRUD snippets.

code
TBC
1
2
3
4
5
{
  "attributes": {
    "code": "String0" // (1)
  }
}
  1. Set the code for a Process.

    For more details

    For more information, see the asset CRUD snippets.

sql
TBC
1
2
3
4
5
{
  "attributes": {
    "sql": "String0" // (1)
  }
}
  1. Set the sql for a Process.

    For more details

    For more information, see the asset CRUD snippets.

Relationships

The following illustrates how the various pieces of lineage inter-relate with each other:

erDiagram
    Process ||--o{ ColumnProcess : columnProcesses
    Process }o--|{ Asset : inputs
    Process }o--|{ Asset : outputs
    Process }o--o{ MatillionComponent: matillionComponent
    ColumnProcess }o--|{ Asset : inputs
    ColumnProcess }o--|{ Asset : outputs