如何使用 Pentaho 验证一个 csv 数据与另一个 csv 文件的比较?
Posted
技术标签:
【中文标题】如何使用 Pentaho 验证一个 csv 数据与另一个 csv 文件的比较?【英文标题】:How to validate one csv data compare with another csv file using Pentaho? 【发布时间】:2018-04-25 08:14:28 【问题描述】:我有两个 csv 文件。 在一个文件中,我有 10 行,在另一个数据列表中。 我想要做的是,检查第一个 csv 的一个文件的数据并将其与另一个 csv 文件进行比较。 那么我该如何实现呢? 任何帮助都会很棒。
【问题讨论】:
【参考方案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。您可以更改新列的名称。以上是关于如何使用 Pentaho 验证一个 csv 数据与另一个 csv 文件的比较?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用Pentaho勺子将数据从MySQL数据库推送到Facebook网页
Pentaho 数据集成转换,从 csv 文件加载字段(Java API)