通过KTR脚本采集适配器,解析KTR脚本,采集元数据及依赖关系,从而得到对应关系型数据库之间的关系。
1. 准备工作
1. 以下面这个ktr脚本为例,该脚本内容涉及std层的STD_ALM_CDB_MODULE_USE_INFO表和ods层的ODS_ALM_CDB_MODULE_USE_INFO表。
2. 先创建关系型数据库的目录挂载点,采集表所在的数据库,确保已采集到std挂载点下的表STD_ALM_CDB_MODULE_USE_INFO和ods挂载点下的表ODS_ALM_CDB_MODULE_USE_INFO。
Tips: 以上提到的std层和ods层是指业务场景中不同的数据分层,也可以理解为不同的数据库。 |
2. 配置数据源和采集任务
在元数据采集的适配器管理页面,选择【其他】分类下的【KTR脚本采集适配器】,点击右上角的添加按钮,进入新建采集向导。
在采集向导中,填写数据源名称,并选择是否需要审核(审核选择“是”,则所有的采集数据均需要做入库审核);适配器、工具版本默认即可;采集模式可选择服务器文件(定时采集)和文件上传(手动采集)。
注:若选择服务器文件(定时采集),在“数据源参数配置”页面需配置ktr脚本文件所在的路径,路径中需写明文件名。
数据源挂载路径若没有,可点击【新建】。
浏览器新标签页打开最新元数据页面,可新建元数据挂载点。
元数据代码、名称根据需求命名;元数据类型,在下拉框中选择: KTR脚本包-KTR挂载点。
完成新建KTR挂载点后,返回采集向导数据源配置界面,先点击刷新,再选择刚刚新建的数据源挂载路径,点击【下一步】。
在数据源参数配置,需设置层级属性,指定层级和数据库挂载点的对应关系。以上ktr脚本涉及std层和ods层,需要指定std层和ods层对应的数据库挂载点,多条关系之间用英文分号分隔,格式为:std=std层挂载点id;ods=ods层挂载点id。
Tips: 挂载点的元数据ID可以在最新元数据的基本信息页面查看: |
完成后,点击【下一步】,配置入库策略和是否自动发布。
点击【下一步】,若采集模式选择服务器文件(定时采集),此页面可配置定时执行的计划任务;若采集模式选择文件上传(手动采集),此页面只配置采集任务标题。
点击【保存】,创建采集数据源和采集任务成功。
Tips: 也可以在【数据源管理】先创建采集数据源,再在【采集任务设置】创建采集任务。 |
3. 执行采集任务
切换到【采集任务配置】模块,找到之前创建好的计划任务,点击【立即执行】,若采集模式选择服务器文件(定时采集),则开始采集,解析服务器上的ktr脚本;若采集模式选择文件上传(手动采集),则弹出上传文件框,选择本地ktr脚本进行上传后,再开始采集元数据。
Tips: 支持上传单个脚本文件(文件后缀是.ktr或.kjb)或者批量zip包。 |
点击立即执行后,打开的页面可以看到采集任务执行进度。
采集成功后,若数据源设置不审核,则在【元数据管理】-【最新元数据】中可查看采集到的元数据;若数据源设置了入库审核,则入库审核通过后才会进入到最新元数据中。
4. 进行元数据分析
KTR脚本采集,能采集到脚本中的数据分层、KTR表、KTR字段。
KTR脚本采集,能采集到的依赖关系有3种:
1、ktr字段和ktr字段之间的依赖。
2、ktr字段和与实际数据库字段的依赖、
3、根据ktr层级配置的对应数据库挂载点id,生成实际层的数据库之间,字段和字段的依赖。
具体举例如下:
1. 从脚本中可解析到STD层表的CREATE_TIME字段,数据来源于ODS层表的CREATE_TIME字段,因此KTR挂载点下,可以采集到STD层的KTR字段【CREATE_TIME】依赖ODS层的【CREATE_TIME】字段。
2. 由于层级设置配置std层对应的数据库挂载点是【mysql】,因此,可以采集到STD层的KTR字段【CREATE_TIME】依赖【mysql】下的数据库字段【CREATE_TIME】。
同理,ODS层的KTR字段【CREATE_TIME】也会依赖数据库字段。
3. 层级设置配置std层对应的数据库挂载点是【mysql】,ods层对应的数据库挂载点是【mysql】。除了以上两种依赖,还可以采集到【mysql】的数据库字段【CREATE_TIME】依赖【mysql】的数据库字段【CREATE_TIME】
对STD层的KTR字段【CREATE_TIME】进行全链分析,可以看到这三种依赖关系。
KTR脚本采集的最终目的,是通过解析脚本,建立起不同数据库(分层)之间的关联。 因此从关系型数据库侧查看分析时,会隐藏ktr脚本元模型类型的数据,只显示数据库元数据之间的关系。
请先登录