【问题标题】:How to validate one csv data compare with another csv file using Pentaho?如何使用 Pentaho 验证一个 csv 数据与另一个 csv 文件的比较?
【发布时间】:2018-04-25 08:14:28
【问题描述】:

我有两个 csv 文件。 在一个文件中,我有 10 行,在另一个数据列表中。 我想要做的是,检查第一个 csv 的一个文件的数据并将其与另一个 csv 文件进行比较。 那么我该如何实现呢? 任何帮助都会很棒。

【问题讨论】:

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


    【解决方案1】:

    您要查找的步骤被命名为Stream Lookup 步骤。`

    读取 CSV 和参考文件,并将两个流放入 Stream Lookup 并设置如下: a) 查找步骤 = 读取参考的步骤 b) Keys / field = CSV 的字段名称,其中包含能够识别参考文件中的行的任何字段。 c) Keys / Lookup field = 参考文件中的字段名称。 d) 要检索的字段 = 要返回的引用中的字段名称(可能是标识符或您需要的任何其他字段) e)要检索的字段/类型=不要忘记!

    这样,您将从参考文件中添加一列到 CSV 文件的 10 行中。然后,您可以通过测试新列的值是否不为空来过滤掉 Lookup 未找到的行。

    在 PDI 中,上述所有设置均由下拉列表引导,您需要 2 分钟。

    【讨论】:

    • 两个 CSV 中的字段不同。第一个 CSV 文件包含国家的列列表和短名称。第二个 CSV 文件有两列,如“shortName”和“OriginalName”。我想要做的是将第一个 csv 中的国家列与第二个 csv 的短名称进行比较,如果匹配,则将其替换为第一个 csv 中的 originalName
    • 使用(更新的)图像中的设置:对于 CSV 的每一行,它将在引用中查找 CSV.country = Reference.shortName 的行。如果找到,它将在新列 CSV.originalName 中添加 Reference.originalName。您可以更改新列的名称。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多