【问题标题】:How to write datastage performance stats on a DB2 table?如何在 DB2 表上写入数据阶段性能统计信息?
【发布时间】:2015-02-10 22:48:08
【问题描述】:

我的 DataStage 版本是 8.5。

我必须在 DB2 中使用 datastage 性能数据填充一个表,例如 job_name、start_time、finish_time 和 execution_date。

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

每次运行此序列后,我都必须收集性能值并将它们加载到 DB2 上的表中,以用于报告目的。

我是 datastage 的新手,我不知道如何使它工作。我的数据阶段的环境是 Windows,所以我不能使用 shell 脚本来处理它。

有什么方法可以将此信息输入数据阶段?

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

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

提前致谢。

【问题讨论】:

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

标签: windows db2 etl datastage


【解决方案1】:

您的服务器是否也在 Windows 上?我很困惑,因为你说“我的数据阶段” 大多数情况下,服务器安装在 linux / unix 上,客户端是 windows。

最好使用的命令是(同样适用于 windows 和 linux 服务器)

dsjob -jobinfo [项目名称] [职位名称]

输出类似于-

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

作业控制器:不可用

入职时间:2015 年 3 月 17 日星期二 09:03:37

工作波数:9

用户状态:不可用

工作控制:0

临时状态:未运行 (99)

调用 ID:不可用

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

作业进程 ID:0

调用列表:[作业名称]

作业可重新启动:0

【讨论】:

    【解决方案2】:

    在这几年之后,我找到了一些获取工作元数据的方法,但没有一个方法能达到我想要的效果,所有这些方法都很难实现,而且经常失败。我找到了 3 种获取作业元数据的方法:

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

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

    对于上述两者,您可以构建一个 ETL,从这些数据库中读取并写入任何您想要的位置。

    最后一个解决方案:

    • 调用调用脚本的工作后子例程女巫将工作结果写入自定义表格。

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

    【讨论】:

      【解决方案3】:

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

      1. 查询 XMETA - 根据我在多个 Datastage 环境中的经验。我还没有看到公司使用 XMETA DB 提取工作绩效信息

      为什么?因为,Datastage 作业不建议访问 XMETA DB ,因为 XMETA 拥有有关 DS 的重要元数据信息。也许您的 Datastage 管理员也不会同意为 XMETA 提供访问权限。

      1. 捕获运行元信息的最古老且最受信任的方法是开发多实例、运行时列传播转换以及您选择的数据库中的少量审计表。

      我的想法: 1.创建像 -ETL-Run_Stats 这样的表,其中包含 JOB_NAME 、 STARTED_TS 、 FINISHED_TS 、 STATUS 等字段。 2. 现在创建您的多实例作业并将它们包含在您的 DS 主序列中。

      如果您的 DS 序列现在看起来像这样 开始 ------> MAIN_DSJOB -------> 成功

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

      START ----> AUDIT_JOB(开始) -------> MAIN_DSJOB ------> AUDIT_JOB(完成) -------> SUCCESS

      1. 您可以在 AUDIT 作业中包含尽可能多的功能,以捕获更多运行时信息

      我建议这样做只是因为您的 DS 版本真的很旧 - 8.5 版。

      使用较新版本的 DS - 有许多内置功能可以访问此信息。也许你可以说服你的经理升级 DS :)

      告诉我它是如何工作的

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-02
        • 2020-02-27
        • 1970-01-01
        • 2011-02-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多