【发布时间】:2020-07-03 11:11:40
【问题描述】:
如果有一种方法可以从 Kiba ETL 运行中获取某种返回对象,这样我就可以使用其中的数据返回有关管道运行情况的报告。
我们有一个每 10 分钟运行一次的作业,平均处理 20 到 50k 条记录,并将它们压缩为摘要记录,其中一些是创建的,而一些是更新的。问题是,如果不翻阅大量日志文件,就很难知道发生了什么,显然,日志对最终用户也很有用。
有没有办法在管道运行时用任意数据填充某种结果对象?例如
- 在源代码中找到 25.7k 行
- 此转换器丢弃了 782 条记录
- 已插入 100 条记录
- 更新了 150 条记录
- 20 条记录有错误(在这里)
- 此记录的统计量最高
- 1200 条记录属于此 VIP 客户
- 等
最后,使用该数据发送电子邮件摘要、填充网页、呈现一些控制台输出等。
目前,我现在可以看到这个工作的唯一方法是在设置期间发送一个对象,并在它流经源、转换器和目标时对其进行变异。运行完成后,随后检查变量并对现在存在的数据进行处理。
这是应该怎么做,还是有更好的方法?
编辑
只想补充一点,我不想在post_process 块中处理这个问题,因为管道通过许多不同的媒介使用,我希望每个用例都处理自己的反馈机制。 ETL 管道也更清洁 (imo),不必担心它在哪里使用,以及该使用场景的反馈期望是什么......
【问题讨论】: