【问题标题】:Maintain a audit table through re usable frame work通过可重用的框架维护审计表
【发布时间】:2020-04-01 11:51:12
【问题描述】:

我被要求使用 Informatica 创建控制表。我是新手,对此了解不多。我在之前的项目中看到了相同类型的东西,但不知道如何为此创建 Mapplet。所以要求是我必须创建一个具有以下列的 Mapplet:

-mapping_name

-会话名称

-last_run_date --源计数 --目标计数 --状态

所以会发生什么

示例:我们上周使用特定映射执行了一个工作流。

现在 1 周后,我们正在执行相同的映射。

要求是我们应该只获取那些落在这个特定时间范围内的记录(即从上一次运行到当前运行)。这是我不知道的。

你能帮帮我吗?如果需要,我可以提供更多详细信息。

【问题讨论】:

    标签: informatica informatica-powercenter


    【解决方案1】:

    下面的链接中提供了一个解决方案,但它不使用 Mapplet。 请看,如果您想使用 Mapplet,您将不会获得“状态”属性,并且 Mapplet 方法可能难以针对所有映射实施。 您也可以使用此链接收集统计信息。 http://powercenternotes.blogspot.com/2014/01/an-etl-framework-for-operational.html

    现在,关于您的其他要求,在我看来,增量提取存在问题。因此,您需要将上次运行流程时的日期参数存储到数据库表或平面文件中。 将其用作参考并提取比该日期更大的任何内容。

    Mapplet - 我们之前使用这种方法来收集统计信息。但这很困难,因为您需要添加这个 Mapplet + 一个可重用的通用目标来捕获统计信息。

    1. 输入 -
      Type_of_data-(可以是源、目标)
      unique_key -(映射的唯一键)
      映射名称 - $PMMappingName
      会话名称 - $PMSessionName

    2. 聚合器 -
      我/p-
      数据类型
      唯一键
      MappingName 分组方式
      SessionName 分组方式
      o/p-
      count_row = COUNT(*)

    3. 输出 -
      数据类型
      映射名称
      会话名称
      count_row

    使用可重用的通用目标来捕获所有行。您需要在每个源之后添加一组,在每个目标之前添加一组。我认为链接中的方法更好。

    【讨论】:

      猜你喜欢
      • 2010-10-12
      • 2017-01-09
      • 1970-01-01
      • 2013-11-09
      • 1970-01-01
      • 1970-01-01
      • 2015-08-24
      • 1970-01-01
      • 2010-10-02
      相关资源
      最近更新 更多