Skip to content

Commit 771abed

Browse files
committed
feat : Add min_degree_lineage to extract minimum degree from lineage
1 parent a58aaae commit 771abed

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

data_utils/datahub_source.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,3 +199,29 @@ def get_column_lineage(self, urn):
199199
)
200200

201201
return parsed_lineage
202+
203+
def min_degree_lineage(self, lineage_result):
204+
# lineage 중 최소 degree만 가져오는 함수
205+
"""
206+
Returns the minimum degree from the lineage result (fetched by get_table_lineage().)
207+
208+
Args:
209+
lineage_result : (List[str, dict]): Result from get_table_lineage().
210+
211+
Returns:
212+
dict : {table_name : minimum_degree}
213+
"""
214+
215+
table_degrees = {}
216+
217+
urn, lineage_data = lineage_result
218+
219+
for item in lineage_data["scrollAcrossLineage"]["searchResults"]:
220+
table = item["entity"]["urn"].split(",")[1]
221+
table_name = table.split(".")[1]
222+
degree = item["degree"]
223+
table_degrees[table_name] = min(
224+
degree, table_degrees.get(table_name, float("inf"))
225+
)
226+
227+
return table_degrees

0 commit comments

Comments
 (0)