talend - 如何在 Talend Open Studio 中记录任务进度?

标签 talend

我有一些示例作业可以将数据从一个数据库迁移到另一个数据库,我想了解一些有关当前进度的信息,例如从应用程序本身交互式运行作业时的信息(我从命令行导出并运行它) )。
我使用 flowMeter 和 statsCatcher 但我得到的一切都是总时间和通过的记录总数(例如 4657 秒,50.000.000 行)。
有没有办法得到一个像样的日志?

最佳答案

您的解决方案是向日志记录添加条件子句。每一行都是真的,比方说,50000。这个使用序列的条件应该有效:

Numeric.sequence("log_seq",1,1) % 50000 == 0 

您可以使用自定义组件 bcLogBack基本上使用 sl4j 外观堆栈输出您的日志。该组件有一个名为“条件日志记录”的选项,仅当条件评估为真时才发送消息。

或者,如果您不喜欢安装自定义组件的想法,您可以使用标准 tLogRow(或 tWarn、tDie 或其他)以带有与高级条件相同的表达式作为前缀的 tFilter 来结束您的子作业。通过这种方式,您将每 50000 次让流通过(以及要触发的日志消息)一次。 这是一个非常基本的工作图
//---->tMySqlOutput--->tFilter-----//filter--->tWarn (or tLogRow)

关于talend - 如何在 Talend Open Studio 中记录任务进度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17149740/

相关文章:

database - Talend:将数据写入 PostgreSQL 数据库错误

json - Talend DB 到 JSON 输出文件

Talend Second 序列号

java - Talend:如何在 tFileOutputExcel 中使用相对路径或如何获取项目目录?

java - 如何检查 DATE 数据类型中的空指针异常

sql - Talend:使用已定义的字符串/参数查询数据库

google-bigquery - 导入数据存储备份时,大查询加载失败并显示错误字符 (ASCII 0)

talend - Talend 中的交易

java - 为 Talend 设置 Java 环境变量

data-migration - 如何在 TALEND 中将一行拆分为不同的行