Skip to content

Commit 063456d

Browse files
SumanMaharanaOpenMetadata Release Bot
authored andcommitted
Fix dbt import issue (#24600)
(cherry picked from commit de294a5)
1 parent bfc4362 commit 063456d

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

ingestion/src/metadata/ingestion/source/database/dbt/dbt_service.py

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,6 @@
1515
from abc import ABC, abstractmethod
1616
from typing import Iterable, List
1717

18-
from collate_dbt_artifacts_parser.parser import (
19-
parse_catalog,
20-
parse_manifest,
21-
parse_run_results,
22-
parse_sources,
23-
)
2418
from pydantic import Field
2519
from typing_extensions import Annotated
2620

@@ -199,6 +193,7 @@ def remove_manifest_non_required_keys(self, manifest_dict: dict):
199193
}
200194
)
201195

196+
# pylint: disable=too-many-nested-blocks
202197
for field in ["nodes", "sources"]:
203198
for node, value in manifest_dict.get( # pylint: disable=unused-variable
204199
field
@@ -209,9 +204,7 @@ def remove_manifest_non_required_keys(self, manifest_dict: dict):
209204
for key in keys_to_delete:
210205
del value[key]
211206
if value.get("columns"):
212-
for col_name, value in value[
213-
"columns"
214-
].items(): # pylint: disable=unused-variable
207+
for _, value in value["columns"].items():
215208
if value.get("constraints"):
216209
keys_to_delete = [
217210
key
@@ -236,12 +229,26 @@ def remove_run_result_non_required_keys(self, run_results: List[dict]):
236229
del result[key]
237230

238231
def get_dbt_files(self) -> Iterable[DbtFiles]:
232+
"""
233+
Prepare the DBT files
234+
"""
239235
dbt_files = get_dbt_details(self.source_config.dbtConfigSource)
240236
for dbt_file in dbt_files:
241237
self.context.get().dbt_file = dbt_file
242238
yield dbt_file
243239

244240
def get_dbt_objects(self) -> Iterable[DbtObjects]:
241+
"""
242+
Prepare the DBT objects
243+
"""
244+
# pylint: disable=import-outside-toplevel
245+
from collate_dbt_artifacts_parser.parser import (
246+
parse_catalog,
247+
parse_manifest,
248+
parse_run_results,
249+
parse_sources,
250+
)
251+
245252
self.remove_manifest_non_required_keys(
246253
manifest_dict=self.context.get().dbt_file.dbt_manifest
247254
)
@@ -325,18 +332,17 @@ def process_dbt_owners(self, data_model_link: DataModelLink):
325332
Method to process DBT owners using patch APIs
326333
"""
327334

328-
def get_dbt_tests(self) -> dict:
335+
def get_dbt_tests(self) -> Iterable[dict]:
329336
"""
330337
Prepare the DBT tests
331338
"""
332339
for _, dbt_test in self.context.get().dbt_tests.items():
333340
yield dbt_test
334341

335-
def get_dbt_exposures(self) -> dict:
342+
def get_dbt_exposures(self) -> Iterable[dict]:
336343
"""
337344
Prepare the DBT exposures
338345
"""
339-
340346
for _, exposure in self.context.get().exposures.items():
341347
yield exposure
342348

0 commit comments

Comments
 (0)