You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

30 lines
817 B

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2023/4/9 9:18
# @Author : old tom
# @File : relation_analyze.py
# @Project : futool-tiny-datahub
# @Desc :
from sqllineage.runner import LineageRunner
class MetadataRelationAnalyzer(object):
"""
元数据关系分析
流程:从元数据存储读取视图-->分析视图(递归)-->视图与表关联关系-->存入Neo4j
"""
def __init__(self, source_id):
self.source_id = source_id
if __name__ == '__main__':
with open(r'D:\文档\工作\ATD\2023上半年\项目\事权\DW_FINANCE_PLAN_DETAIL_BASE_VW.sql', 'r', encoding='utf-8') as f:
sql = f.read()
runner = LineageRunner(sql, dialect='oracle')
# 画图
# runner.draw(dialect='oracle')
print(runner)
print(runner.source_tables)