From 92ddda2c15eace9a1aee4164fda9671d25a5886b Mon Sep 17 00:00:00 2001 From: Onkar Ravgan Date: Wed, 12 Oct 2022 14:59:17 +0530 Subject: [PATCH] Fixed DBT snowflake case sensitivty and dbt owner from manifest (#8052) * Fixed snowflake case and dbt owner manifest * Merged main after linting Co-authored-by: Onkar Ravgan --- .../src/metadata/ingestion/ometa/mixins/patch_mixin.py | 2 +- .../metadata/ingestion/source/database/dbt_source.py | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py b/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py index bb0eb96dd0d..359e9ca610f 100644 --- a/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py +++ b/ingestion/src/metadata/ingestion/ometa/mixins/patch_mixin.py @@ -161,7 +161,7 @@ class OMetaPatchMixin(Generic[T]): ( (col_index, col) for col_index, col in enumerate(table.columns) - if col.name.__root__ == column_name + if str(col.name.__root__).lower() == column_name.lower() ), None, ) diff --git a/ingestion/src/metadata/ingestion/source/database/dbt_source.py b/ingestion/src/metadata/ingestion/source/database/dbt_source.py index 07247a42b2c..5ade7c95819 100644 --- a/ingestion/src/metadata/ingestion/source/database/dbt_source.py +++ b/ingestion/src/metadata/ingestion/source/database/dbt_source.py @@ -67,13 +67,13 @@ class DBTMixin: metadata: OpenMetadata def get_data_model(self, table_fqn: str) -> Optional[DataModel]: - return self.data_models.get(table_fqn) + return self.data_models.get(table_fqn.lower()) - def get_dbt_owner(self, cnode: dict) -> Optional[str]: + def get_dbt_owner(self, mnode: dict, cnode: dict) -> Optional[str]: """ Returns dbt owner """ - dbt_owner = cnode["metadata"].get("owner") + dbt_owner = mnode["meta"].get("owner") or cnode["metadata"].get("owner") owner = None if dbt_owner: owner_name = f"*{dbt_owner}*" @@ -163,7 +163,7 @@ class DBTMixin: sql=mnode.get("compiled_sql", mnode.get("raw_sql", "")), columns=columns, upstream=upstream_nodes, - owner=self.get_dbt_owner(cnode=cnode), + owner=self.get_dbt_owner(mnode=mnode, cnode=cnode), tags=dbt_table_tags_list, ) model_fqn = fqn.build( @@ -173,7 +173,7 @@ class DBTMixin: database_name=database, schema_name=schema, model_name=model_name, - ) + ).lower() self.data_models[model_fqn] = model except Exception as exc: logger.debug(traceback.format_exc())