如何批量获取各workflow中sequence generator transformation的取值?
批量统计所有Workflow中Sequence Generator转换取值的实现方法
不需要手动逐个打开Session进入配置页记录,有两类效率更高的实现方案:
方案一:直接查询Informatica资源库元数据表(效率最高)
所有转换、工作流、会话的配置信息都会持久化存储在Informatica资源库的元数据表中,直接执行SQL查询即可一键导出全量统计结果,全程不需要打开客户端操作。
- 涉及的核心元数据表:
REP_SUBJECT_AREAS:存储资源库下所有文件夹的基础信息REP_WORKFLOWS:存储所有Workflow的基础配置与所属文件夹关联关系REP_SESSIONS:存储所有Session的基础配置与所属Workflow关联关系REP_TRANSFORMATIONS:存储所有转换的基础信息,可通过转换类型字段筛选出Sequence Generator类转换REP_SEQ_GEN_PROPS:专门存储Sequence Generator转换的核心配置,包含起始值、步长、当前值、结束值、循环标识等所有需要统计的取值
- 参考查询SQL:
SELECT f.SUBJECT_AREA AS 文件夹名称, w.WORKFLOW_NAME AS 工作流名称, s.SESSION_NAME AS 会话名称, t.TRANSFORMATION_NAME AS 序列生成器转换名称, sp.START_VALUE AS 起始取值, sp.INCREMENT_BY AS 增量步长, sp.END_VALUE AS 结束取值, sp.CURRENT_VALUE AS 当前运行值, sp.IS_CYCLIC AS 是否开启循环 FROM REP_SUBJECT_AREAS f INNER JOIN REP_WORKFLOWS w ON f.SUBJECT_ID = w.SUBJECT_ID INNER JOIN REP_SESSIONS s ON w.WORKFLOW_ID = s.WORKFLOW_ID INNER JOIN REP_TRANSFORMATIONS t ON s.MAPPING_ID = t.MAPPING_ID AND t.TRANSFORMATION_TYPE = 'Sequence Generator' INNER JOIN REP_SEQ_GEN_PROPS sp ON t.TRANSFORMATION_ID = sp.TRANSFORMATION_ID -- 若只需要统计指定文件夹,可放开下方注释并替换为实际文件夹名 -- WHERE f.SUBJECT_AREA = '目标业务文件夹名' ORDER BY f.SUBJECT_AREA, w.WORKFLOW_NAME, s.SESSION_NAME;
注意:执行查询的账号需要拥有Informatica资源库的只读权限;不同Informatica大版本(9.x/10.x/10.5.x)的元数据表字段名可能存在细微差异,若查询报错可对应调整字段名即可。
方案二:通过pmrep命令批量导出配置解析(适合无资源库查询权限的场景)
如果没有资源库数据库的查询权限,可以用Informatica自带的pmrep命令行工具批量导出全量对象配置,再统一解析提取数据:
- 连接目标资源库,执行命令:
pmrep connect -r 资源库名称 -d 域名 -n 你的账号 -x 你的密码 - 批量导出全文件夹所有对象配置到本地XML文件:
pmrep objectexport -n "*" -o all -f "*" -r -u 本地导出路径\all_obj_config.xml - 解析导出的XML文件:可直接用Excel的XML导入功能筛选Sequence Generator节点的配置字段,也可以写简单的Python/Shell脚本批量提取所需属性,不需要逐个打开客户端界面核对。
补充说明:如果Sequence Generator取值是通过参数文件动态传入的,上述两种方法获取的是转换层面配置的默认值,实际运行取值需要额外关联Session绑定的参数文件做二次匹配。
内容的提问来源于stack exchange,提问作者Vaibhav Dubey
相关产品推荐
相关产品推荐

