tdw_catalog.lineage

tdw_catalog.lineage.column_relationship

class tdw_catalog.lineage.column_relationship.ColumnLineageRelationship(client, **kwargs)[source]

Bases: EntityBase, _DatasetLineageRelationshipRelation

ColumnLineageRelationship

Attributes

idstr

ColumnLineageRelationship‘s unique id

dataset_lineage_relationship_idstr

The unique ID of the DatasetLineageRelationship to which this ColumnLineageRelationship belongs

dataset_lineage_relationshipdataset_relationship.DatasetLineageRelationship

The DatasetLineageRelationship object that relates to the dataset_lineage_relationship_id of this model

upstream_columnsList[LineageColumn]

The source columns involved in this relationship

downstream_columnsList[LineageColumn],

The destination columns involved in this relationship

user_idstr

The unique User ID of the user who created this ColumnLineageRelationship

labelstr

The descriptive label for this ColumnLineageRelationship

descriptionOptional[str] = None

An optional extended description for this ColumnLineageRelationship

created_atdatetime

The datetime at which this ColumnLineageRelationship was created

updated_atdatetime

The datetime at which this ColumnLineageRelationship was last updated

classmethod get(client, id: str)[source]

Retrieve a ColumnLineageRelationship

Parameters

clientCatalog

The Catalog client to use to get the ColumnLineageRelationship

idstr

The unique ID of the ColumnLineageRelationship

Returns

ColumnLineageRelationship

The ColumnLineageRelationship associated with the given ID

Raises

CatalogInternalException

If call to the Catalog server fails

CatalogNotFoundException

If the ColumnLineageRelationship with the supplied ID could not be found

CatalogPermissionDeniedException

If the caller is not allowed to retrieve this ColumnLineageRelationship because they do not have access to one or both datasets involved, or the Organization this relationship belongs to.

class tdw_catalog.lineage.column_relationship.LineageColumn(_key: str, _name: str | None, _type: ColumnType)[source]

Bases: object

A Dataset column involved in a ColumnLineageRelationship

Attributes

keystr

The column name for this LineageColumn, within the actual Warehouse where the data lives

typeColumnType

The data type for this LineageColumn. Available types can be found in ColumnType.

name: Optional[str]

An optional friendly name for this LineageColumn, which is visually used in place of the key throughout the Catalog

tdw_catalog.lineage.dataset_relationship

class tdw_catalog.lineage.dataset_relationship.DatasetLineageRelationship(client, **kwargs)[source]

Bases: EntityBase

DatasetLineageRelationship

Attributes

idstr

DatasetLineageRelationship‘s unique id

organization_idstr

The unique ID of the Organization to which this DatasetLineageRelationship belongs

organizationorganization.Organization

The Organization object that relates to the organization_id of this model

upstream_dataset_idstr

The unique ID of the Dataset on the upstream end of this class:.DatasetLineageRelationship

upstream_datasetUnion[dataset.Dataset, dataset.ConnectedDataset]

The Dataset object that relates to the upstream_dataset_id of this model

downstream_dataset_idstr

The unique ID of the Dataset on the downstream end of this class:.DatasetLineageRelationship

downstream_datasetUnion[dataset.Dataset, dataset.ConnectedDataset]

The Dataset object that relates to the downstream_dataset_id of this model

user_idstr

The unique User ID of the user who created this DatasetLineageRelationship

labelstr

The descriptive label for this DatasetLineageRelationship

descriptionOptional[str] = None

An optional extended description for this DatasetLineageRelationship

created_atdatetime

The datetime at which this DatasetLineageRelationship was created

updated_atdatetime

The datetime at which this DatasetLineageRelationship was last updated

delete() None[source]

Delete this DatasetLineageRelationship. All ColumnLineageRelationships within this DatasetLineageRelationship will be deleted as well. This DatasetLineageRelationship object should not be used after delete() has successfully returned

Raises

CatalogPermissionDeniedException

If the caller is not allowed to delete this DatasetLineageRelationship

CatalogNotFoundException

If the DatasetLineageRelationship no longer exists

CatalogException

If call to the Catalog server fails

classmethod get(client, id: str)[source]

Retrieve a DatasetLineageRelationship

Parameters

clientCatalog

The Catalog client to use to get the DatasetLineageRelationship

idstr

The unique ID of the DatasetLineageRelationship

Returns

DatasetLineageRelationship

The DatasetLineageRelationship associated with the given ID

Raises

CatalogInternalException

If call to the Catalog server fails

CatalogNotFoundException

If the DatasetLineageRelationship with the supplied ID could not be found

CatalogPermissionDeniedException

If the caller is not allowed to retrieve this DatasetLineageRelationship because they do not have access to one or both datasets involved, or the Organization this relationship belongs to.

list_column_lineage() List[column_relationship.ColumnLineageRelationship][source]

List all column lineage within this DatasetLineageRelationship

Returns

List[ColumnLineageRelationship]

The ColumnLineageRelationships contained within this DatasetLineageRelationship

save() None[source]

Update this DatasetLineageRelationship, saving any changes to its fields

Raises

CatalogPermissionDeniedException

If the caller is not allowed to update this DatasetLineageRelationship

CatalogNotFoundException

If the DatasetLineageRelationship no longer exists

CatalogException

If call to the Catalog server fails