Windows 如何在DB2表上编写datastage性能统计数据?

Windows 如何在DB2表上编写datastage性能统计数据?,windows,db2,etl,datastage,Windows,Db2,Etl,Datastage,我的DataStage版本是8.5 我必须在DB2中用datastage性能数据填充一个表,比如作业名称、开始时间、完成时间和执行日期 有一个包含大量作业的主序列。序列本身每天运行一次 在每次运行这个序列之后,我必须收集性能值并将它们加载到DB2上的表中,以便于报告 我是datastage的新手,我不知道如何让它工作。我的Data stage的环境是Windows,因此我无法使用shell脚本处理它 有什么方法可以将这些信息导入datastage 我试图构建一个服务器例程,并使用DSGetJob

我的DataStage版本是8.5

我必须在DB2中用datastage性能数据填充一个表,比如作业名称、开始时间、完成时间和执行日期

有一个包含大量作业的主序列。序列本身每天运行一次

在每次运行这个序列之后,我必须收集性能值并将它们加载到DB2上的表中,以便于报告

我是datastage的新手,我不知道如何让它工作。我的Data stage的环境是Windows,因此我无法使用shell脚本处理它

有什么方法可以将这些信息导入datastage

我试图构建一个服务器例程,并使用DSGetJobInfo获取数据,但我陷入了参数问题(如何将xx个作业作为列表传递给它)

对不起,我的英语不是我的母语


提前谢谢。

您的服务器也在Windows上吗?自从你说“我的数据舞台”我就糊涂了 大多数情况下,服务器安装在linux/unix上,而客户端是windows

最好使用的命令是(在windows和linux服务器上都应该使用相同的命令)

dsjob-作业信息[项目名称][作业名称]

输出将类似于-

作业状态:运行正常(1)

作业控制器:不可用

工作开始时间:2015年3月17日星期二09:03:37

工作波数:9

用户状态:不可用

作业控制:0

临时状态:未运行(99)

调用ID:不可用

最后运行时间:2015年3月17日星期二09:09:00

作业进程ID:0

调用列表:[作业名称]


作业可重新启动:0

在这几年之后,我找到了一些获取作业元数据的方法,但没有一种是我想要的好方法,所有这些方法都有点难以实现,并且经常失败。我找到了3种获取工作元数据的方法:

  • 直接从xmeta查询与DATASTAGEX(*)命名匹配的表

  • 来自DSODB的查询,DSODB是来自操作控制台工具的数据库,它包含有关作业运行的所有日志信息,但必须启用操作控制台才能包含数据(打开appwatcher进程)

为此,您可以构建一个ETL,该ETL可以从这些数据库中读取数据,并在您想要的任何地方写入数据

最后一个解决方案是:

  • 调用调用脚本的after job子例程将作业结果写入自定义表

如果这些数据仅用于报告和分析,那么前两种解决方案就可以了。对于更特殊的行为,第三个是必要的。

您要问的是ETL审计过程,它是ETL开发的支柱之一。我很惊讶您的ETL设计还没有

  • 根据我在多个Datastage环境中的经验查询XMETA。我还没有看到公司使用XMETA DB来提取工作绩效信息
  • 为什么??因为,不建议Datastage作业访问XMETA DB,因为XMETA包含有关DS的重要元数据信息。也许您的Datastage管理员也不会同意为XMETA提供访问权限

  • 捕获运行元信息的最古老和最可靠的方法是开发多实例、运行时列传播转换,以及在您选择的数据库中创建一些审计表
  • 我的想法是: 1.创建类似-ETL-Run_Stats的表,该表包含作业名称、开始、完成、状态等字段。 2.现在创建多个实例作业,并将它们包含在DS主序列中

    如果你的DS序列现在看起来像这样 开始------->主任务------->成功

    在审计作业之后,DS序列应该如下所示

    开始---->审核作业(已开始)--->主审核作业---->审核作业(已完成)--->成功

  • 您可以在审计作业中包含所需的功能,以捕获更多的运行时信息
  • 我之所以建议这样做,只是因为你的DS版本真的很旧——版本8.5

    对于较新版本的DS,有许多内置功能可以访问这些信息。也许您可以说服您的经理升级DS:)


    让我知道它是如何工作的

    您可以将主序列导出到dsx,并在运行进程之前将其作为平面文件读取,它应该包含它调用的作业的名称,然后将其用作例程的输入嘿,我也想做一些类似的事情,你有什么解决方案吗嘿,LeandroHumb,我也想做同样的事情,你有什么解决方案吗