Skip to content

Commit b262307

Browse files
committed
feat(ingestion/dbt): Adds new functions for filtering by database and schema
1 parent b610950 commit b262307

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

metadata-ingestion/src/datahub/ingestion/source/dbt/dbt_common.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -992,20 +992,25 @@ def get_workunits_internal(self) -> Iterable[MetadataWorkUnit]:
992992
all_nodes_map,
993993
)
994994

995-
def _is_allowed_node(self, key: str) -> bool:
996-
return self.config.node_name_pattern.allowed(key)
995+
def _is_allowed_node(self, dbt_name: str) -> bool:
996+
return self.config.node_name_pattern.allowed(dbt_name)
997+
998+
def _is_allowed_database(self, database: Optional[str]) -> bool:
999+
return self.config.database_name_pattern.allowed(database or "")
1000+
1001+
def _is_allowed_schema(self, schema: Optional[str]) -> bool:
1002+
return self.config.schema_name_pattern.allowed(schema or "")
1003+
1004+
def _is_allowed(self, node: DBTNode) -> bool:
1005+
return self._is_allowed_node(node.dbt_name) and self._is_allowed_database(node.database) and self._is_allowed_schema(node.schema)
9971006

9981007
def _filter_nodes(self, all_nodes: List[DBTNode]) -> List[DBTNode]:
9991008
nodes = []
10001009
for node in all_nodes:
1001-
key = node.dbt_name
1002-
1003-
if not self._is_allowed_node(key):
1004-
self.report.nodes_filtered.append(key)
1010+
if not self._is_allowed(node):
1011+
self.report.nodes_filtered.append(node.dbt_name)
10051012
continue
1006-
10071013
nodes.append(node)
1008-
10091014
return nodes
10101015

10111016
@staticmethod
@@ -1036,8 +1041,8 @@ def add_node_to_cll_list(dbt_name: str) -> None:
10361041
cll_nodes.add(dbt_name)
10371042
schema_nodes.add(dbt_name)
10381043

1039-
for dbt_name in all_nodes_map.keys():
1040-
if self._is_allowed_node(dbt_name):
1044+
for dbt_name, node in all_nodes_map.items():
1045+
if self._is_allowed(node):
10411046
add_node_to_cll_list(dbt_name)
10421047

10431048
return schema_nodes, cll_nodes

0 commit comments

Comments
 (0)