如何在每个作业结束时在 talend 中实现日志记录?

How to Implement logging at the end of each job In talend?

我是 Talend 的新手 os。

不过,我接到了一个任务:

  1. 创建文件分隔的 .csv 元数据(一个用于潜在客户和机会)。
  2. 将文件移动到您在 AWS 服务器上的代表os目录(etl_process1 登录)。
  3. 创建两个 tables sfdc_leads_reporting_raw 和 sfdc_opp_reporting_raw.
  4. 将文件中的数据加载到 table 中。确保在创建元数据模式时正确使用数据类型 & tables.

至第 4 步完成。

现在的问题是:

如何在每个作业结束时执行日志记录以报告潜在客户数量(潜在客户中不同 ID 的计数 table)和创建的机会数量(机会 ID 的数量)按阶段(有多少人转化、合格、closed 获胜和死亡)?

不胜感激。

您可以在作业结束时在子作业中使用全局变量获取此数据。大多数组件提供一个名为 tComponent_NB_LINE(或数据库组件的 _NB_LINE_INSERTED)的全局变量,它为您提供组件输出的行数。 例如 tFileOutputDelimited_1_NB_LINEtOracleOutput_1_NB_LINE_INSERTED.

使用这些变量,您可以登录控制台或文件。 这是一个简单的例子。如果您的工作中有 tOracleOutput_1,您可以这样做:

tPostJob -- OnComponentOk -- tFixedFlowInput -- Main -- tLogRow 

在 tFixedFlowInput 中检索变量

(Integer)globalMap.get("tOracleOutput_1_NB_LINE_INSERTED")`.

如果您需要记录聚合信息,您可以将 tAggregateRow 附加到您的输出组件,并使用 tSetGlobalVar 按特定条件进行计数。