|
|
|
@ -13,6 +13,7 @@ from datahub.metadata.constant.metadata_constant import MetaDataObjType
|
|
|
|
|
from datahub.log_conf import log
|
|
|
|
|
from datahub.metadata.metaversion.metadata_version import MetadataVersionKeeper
|
|
|
|
|
from common.futool.core.fu_date import StopWatch
|
|
|
|
|
from common.futool.core.fu_collection import is_not_empty
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class MetadataScanner(object):
|
|
|
|
@ -63,6 +64,7 @@ class MetadataScanner(object):
|
|
|
|
|
# 读取视图创建语句
|
|
|
|
|
watch.start(f"{source_id}_view")
|
|
|
|
|
meta_views = warehouse.query_metadata_id_name(MetaDataObjType.View.value)
|
|
|
|
|
if is_not_empty(meta_views):
|
|
|
|
|
log.info(f"开始查询[{warehouse.source_id}] 视图创建语句,共{len(meta_views)}张视图")
|
|
|
|
|
view_datas = self._join_meta_detail(meta_views, source_id, MetaDataObjType.View.value)
|
|
|
|
|
warehouse.save_metadata_obj_detail(view_datas)
|
|
|
|
@ -71,6 +73,7 @@ class MetadataScanner(object):
|
|
|
|
|
# 读取存储过程创建语句
|
|
|
|
|
watch.start(f"{source_id}_procedure")
|
|
|
|
|
meta_procedure = warehouse.query_metadata_id_name(MetaDataObjType.Procedure.value)
|
|
|
|
|
if is_not_empty(meta_procedure):
|
|
|
|
|
log.info(f"开始查询[{warehouse.source_id}] 存储过程创建语句,共{len(meta_procedure)}张过程")
|
|
|
|
|
procedure_datas = self._join_meta_detail(meta_procedure, source_id, MetaDataObjType.Procedure.value)
|
|
|
|
|
warehouse.save_metadata_obj_detail(procedure_datas)
|
|
|
|
@ -97,12 +100,15 @@ class MetadataScanner(object):
|
|
|
|
|
log.info(f'开始扫描[{source_id}]元数据,版本号为[{version_code}]')
|
|
|
|
|
try:
|
|
|
|
|
tables = metadata_reader.query_tables()
|
|
|
|
|
if is_not_empty(tables):
|
|
|
|
|
warehouse.save_metadata_obj(tables, MetaDataObjType.Table.value, version_code)
|
|
|
|
|
log.info(f'[{source_id}]读取表完毕,共{len(tables)}张')
|
|
|
|
|
views = metadata_reader.query_views()
|
|
|
|
|
if is_not_empty(views):
|
|
|
|
|
warehouse.save_metadata_obj(views, MetaDataObjType.View.value, version_code)
|
|
|
|
|
log.info(f'[{source_id}]读取视图完毕,共{len(views)}张')
|
|
|
|
|
procedures = metadata_reader.query_procedure()
|
|
|
|
|
if is_not_empty(procedures):
|
|
|
|
|
warehouse.save_metadata_obj(procedures, MetaDataObjType.Procedure.value, version_code)
|
|
|
|
|
log.info(f'[{source_id}]读取存储过程完毕,共{len(procedures)}个')
|
|
|
|
|
# 查询明细数据
|
|
|
|
|