我在apachi nifi中有一次场景,那就是我的流文件中有一个csv数据,我的数据库中有一些csv数据,这些数据与csv流文件有一些不同的数据,现在我想比较两个csv文件(我的 nifi 流文件中的流文件内容和我从数据库中读取的 csv 数据)使用 groovy 脚本,您能帮助我如何使用 nifi 实现此目的吗?我的数据如下。
existing content(123_456.csv) from db
A 3000 AAA008
A 3001 AAA008
A 3002 AAA008
A 3003 AAA008
A 3005 AAA008
A 3006 AAA008
A 3007 AAA008
A 3008 AAA008
A 3009 AAA008
A 3010 AAA008
A 3011 AAA008
A 3012 AAA008(This record is deleted in the new file from the flow file, so i dont need to consider this from the new file)
Flow file content(123_456.csv) from apachi nifi flow file
A 3000 AAA008
A 3001 AAA008
U 3002 AAA009(This I need to update, since the third Colum is changed)
A 3003 AAA008
I 3013 AAA113(This I need to insert ,since I don't have this in the old file from the db)
A 3005 AAA008
A 3006 AAA008
A 3007 AAA008
A 3008 AAA008
A 3009 AAA008
A 3010 AAA008
A 3011 AAA008
你能帮我用groovy脚本来实现这个目标吗?谢谢你
创建 2 个列表 A 和 B 创建 2 组 A 匹配和 A 不匹配 创建 2 组 B 匹配和 B 不匹配
然后循环匹配 A 直到 B - 将匹配项添加到 A-match 将不匹配项添加到 A-nonmatch 然后循环 B 匹配直到 A - 将匹配添加到 B-match 将不匹配添加到 B-nonmatch
现在你有一组 从 A 到 B 的匹配 从 A 到 B 不匹配 从 B 到 A 的匹配 从 B 到 A 不匹配