转换水壶中的错误

Posted

技术标签:

【中文标题】转换水壶中的错误【英文标题】:errors in transformation Kettle 【发布时间】:2016-05-05 23:49:33 【问题描述】:

我想在 Pentaho Kettle 中获取系统生成的错误并将其公开为转换或作业的结果,例如我想从日志中获取 HL7 输入的错误并将其公开为下一步的结果。

【问题讨论】:

如果转换或作业中出现任何错误,它将立即停止执行,您可以使用实用程序下的写入日志步骤来存储日志,您也可以指定日志类型。 谢谢,但没有办法获取这些错误日志中的内容并将其公开为作业输出的结果??!! 【参考方案1】:

我想得到系统产生的错误

您的意思是像 Apache 或 mysql 错误?如果是这种情况,您可能只需将 Pentaho 转换指向这些文件。它们通常有一个像 /var/logs/apache2 这样的默认位置,这很容易阅读。

如果您想将这些错误解析为更易于分析的内容,则不是那么容易。为此,我将使用“在内存中加载文件”和一些“正则表达式评估”步骤从原始文本中获取您想要的数据。

但是,阅读日志和分析错误有更好的解决方案。 有关更多信息或类似产品,请参阅LogStash。

【讨论】:

听起来不错,但实际上我找到了一个临时解决方案,我在我想要出错的步骤之前向我的转换添加了一个用户 java 类。【参考方案2】:

您可以将这些结果保存在一个临时 csv 文件中,以便下一步使用。

如果你选择这个解决方案,我会推荐:

在文件名中添加唯一的 jobID 或标识符,以确保您的下一步是读取正确的文件。

在末尾添加一个删除旧临时文件的步骤

【讨论】:

您的想法是,我将转换或作业的结果存储到 csv 文件中,例如,我将使用该文件来提取我需要的错误,实际上这就是我所理解的,但我问是否有是一种在下一步中直接传递这些错误的方法吗??,谢谢。

以上是关于转换水壶中的错误的主要内容,如果未能解决你的问题,请参考以下文章

水壶中的RDB到JSON?

在 pentaho 水壶勺中等待

水壶 '?'不工作表输入步骤

水壶:RESTful API 调用中出现 400 错误

如何在水壶中解压缩和导入 .tar.gz 文件?

如何解决 Kettle 中的这个 in/out mysql 参数错误?