【问题标题】:ETL Job that filters data based on Keywords in Pentaho Kettle根据 Pentaho Kettle 中的关键字过滤数据的 ETL 作业
【发布时间】:2019-09-18 14:13:56
【问题描述】:

我正在尝试让 Pentaho Kettle 工作,它可以在 ETL 过程中完成:

想要将keywords.csv 中的关键字匹配到data.csv 中的句子列中,并且想要生成下面的输出,其中所有句子都不会包含在关键字匹配到句子中的位置。

我能够在 Talend 中做到这一点,但在 Pentaho Kettle 中却无法做到。我尝试使用过滤器,但它不起作用。

我想在 ETL 作业本身中使用keywords.csv 作为输入而不是固定输入。

keywords.csv

苹果
香蕉
橙
青苹果
菠萝

data.csv

身份证,句子 1、这个苹果不错 2,那是我的卡车 3、这栋楼很漂亮 4、苹果和菠萝有益健康 5、那个橙子很新鲜

输出.csv

2,那是我的卡车 3、这栋楼很漂亮

【问题讨论】:

    标签: etl pentaho pentaho-spoon


    【解决方案1】:

    我认为您可以使用 Pentaho 中的模糊匹配步骤来完成此操作。任何得分 > 0 的东西都可以被过滤掉。

    【讨论】:

    • 嗨 eicherjc,感谢您的回复,但它不起作用。见截图。 FuzzyMatchResult 每行得分>0
    【解决方案2】:

    您应该能够使用 Java 脚本步骤来执行此操作,您可以在其中通过 loadFileContent 函数加载关键字.csv 数据,然后循环遍历它的值。 最终,JavaScript 函数将向每一行写入一个布尔变量(我们称之为“包含”)。 下一步是“过滤行”,您可以在其中跳过包含 include=false 的每一行。

    【讨论】:

      猜你喜欢
      • 2011-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多