|
|
|
@ -142,6 +142,7 @@ class MetadataRelationAnalyzer(object):
|
|
|
|
|
views = []
|
|
|
|
|
for source_name in source_tables:
|
|
|
|
|
source_type = self.warehouse.query_metadata_type_by_name(source_name)
|
|
|
|
|
# 区分视图及表
|
|
|
|
|
if source_type == MetaDataObjType.View.value:
|
|
|
|
|
views.append(source_name)
|
|
|
|
|
elif source_type == MetaDataObjType.Table.value:
|
|
|
|
@ -192,12 +193,10 @@ class MetadataRelationAnalyzer(object):
|
|
|
|
|
name=target)
|
|
|
|
|
# 构建多对1关系
|
|
|
|
|
for s in source:
|
|
|
|
|
# TODO 还需要判断类型
|
|
|
|
|
s_node = self.neo4j_helper.create_node_with_check(MetaDataObjType.Table.value,
|
|
|
|
|
self.source_id,
|
|
|
|
|
name=s)
|
|
|
|
|
source_type = self.warehouse.query_metadata_type_by_name(s)
|
|
|
|
|
s_node = self.neo4j_helper.create_node_with_check(source_type, self.source_id, name=s)
|
|
|
|
|
self.neo4j_helper.create_relationship_with_merge(s_node, 'from', target_node,
|
|
|
|
|
MetaDataObjType.Table.value,
|
|
|
|
|
source_type,
|
|
|
|
|
'name')
|
|
|
|
|
except Exception as e:
|
|
|
|
|
logger.error(f'存储过程{procedure[1]}分析异常,e={e}')
|
|
|
|
@ -211,4 +210,3 @@ if __name__ == '__main__':
|
|
|
|
|
graph.delete_all()
|
|
|
|
|
mta = MetadataRelationAnalyzer('834164a2d62de959c0261e6239dd1e55')
|
|
|
|
|
mta.analyze()
|
|
|
|
|
'MATCH (c:table{name:"DW_LAND_PROBLEM"})<-[r*0..]-(result) return result'
|
|
|
|
|