【问题标题】:PDI: Output only if no errorsPDI:仅在没有错误时输出
【发布时间】:2018-11-08 16:06:46
【问题描述】:

我想将 csv 文件转换为 XML 文件。在转换中,我还有一个小的数据验证,例如字符串的长度必须小于 50。所以我有一个文本文件输入步骤 > 修改的 JavaScript 步骤,其中有两跳到中止步骤(用于错误处理跳)和 XML 输出步。我的目标是仅在没有发生错误的情况下创建 XML 文件。目前它创建了一个带有 2 个“行”和 Abort 的 XML,因为 csv 中的第 3 行是一个很长的字符串。我认为这是一个非常简单的场景,但我没有办法解决它。请有人给我一个小费。 非常感谢。 马尔科

【问题讨论】:

  • 让我试着更好地理解,您想要过滤具有 50 个或更长字符的字符串,并提醒用户使用更长的字符串,但仍然使用有效字符串创建 XML 文件?还是仅在存在有效字符串时才创建 XML?

标签: pentaho pentaho-spoon pentaho-data-integration pdi


【解决方案1】:

已编辑:

如果您的流程中途中止,似乎您的流程确实会暂停超过 50 个字符的字符串,但是由于 Pentaho 以并行方式工作,如果第一行有效并到达输出步骤,则输出将开始记录,您想要的是阻止这一步,直到所有行都被上一步处理完。

只需在输出步骤之前添加一个“阻止步骤”(在步骤完成之前不要误认为阻止此步骤,您需要阻止步骤)。 记得检查“通过所有行吗?”此步骤中的选项,这将有效地在输出之前“保留”转换中的所有行。

【讨论】:

  • 你好克里斯蒂安,不,我不想更改数据。如果数据无效,用户会收到错误以更正数据源中无效的数据。
  • 嗨,Marko,Cristian 的解决方案可以根据您的要求正常工作。不知道你在这里说什么“我不想更改数据”。能详细点吗?
  • 我有另一个可能的答案,但在此之前我已删除。认为最好将其删除而不是将其留在那里。
  • @Cristian,这正是我想要的。对不起,我是德国人,英语不好 :) 更改数据意味着不编辑数据。非常感谢。
猜你喜欢
  • 2019-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-03
  • 1970-01-01
  • 2012-08-02
  • 2017-04-05
  • 2011-06-26
相关资源
最近更新 更多