feat: compute dbt model lineage across databases (#16079)

* feat: compute dbt model lineage across databases

* fix lint

* try other way

* remove useless function

* Update metadata.py

* review

* chore: remove config.serviceName usage
This commit is contained in:
Antoine Balliet 2024-05-07 08:19:50 +02:00 committed by GitHub
parent e13a1af395
commit 2b7853581c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -132,13 +132,7 @@ class DbtSource(DbtServiceSource):
""" """
By default for DBT nothing is required to be prepared By default for DBT nothing is required to be prepared
""" """
database_service = self.metadata.get_by_name( pass
entity=DatabaseService, fqn=self.config.serviceName
)
if not database_service:
raise InvalidServiceException(
f"Service with name {self.config.serviceName} not found"
)
def get_dbt_owner( def get_dbt_owner(
self, manifest_node: dict, catalog_node: Optional[dict] self, manifest_node: dict, catalog_node: Optional[dict]
@ -413,7 +407,7 @@ class DbtSource(DbtServiceSource):
table_fqn = fqn.build( table_fqn = fqn.build(
self.metadata, self.metadata,
entity_type=Table, entity_type=Table,
service_name=self.config.serviceName, service_name="*",
database_name=get_corrected_name(manifest_node.database), database_name=get_corrected_name(manifest_node.database),
schema_name=get_corrected_name(manifest_node.schema_), schema_name=get_corrected_name(manifest_node.schema_),
table_name=model_name, table_name=model_name,
@ -507,7 +501,7 @@ class DbtSource(DbtServiceSource):
parent_fqn = fqn.build( parent_fqn = fqn.build(
self.metadata, self.metadata,
entity_type=Table, entity_type=Table,
service_name=self.config.serviceName, service_name="*",
database_name=get_corrected_name(parent_node.database), database_name=get_corrected_name(parent_node.database),
schema_name=get_corrected_name(parent_node.schema_), schema_name=get_corrected_name(parent_node.schema_),
table_name=table_name, table_name=table_name,
@ -949,7 +943,7 @@ class DbtSource(DbtServiceSource):
test_case_fqn = fqn.build( test_case_fqn = fqn.build(
self.metadata, self.metadata,
entity_type=TestCase, entity_type=TestCase,
service_name=self.config.serviceName, service_name=source_elements[0],
database_name=source_elements[1], database_name=source_elements[1],
schema_name=source_elements[2], schema_name=source_elements[2],
table_name=source_elements[3], table_name=source_elements[3],