Apache Nifi - 从 CSV 文件中获取唯一记录
Apache Nifi - Getting unique records from CSV files
我有两个csv文件,两个文件都有记录。我想删除重复的记录。我想获得独特的记录。我如何使用 Apache Nifi 做到这一点?
谢谢!
input1.csv;
id,surname,name
1,ali,veli
2,mert,tolga
input2.csv;
id,surname,name
1,ali,veli
3,ahmet,ozan
output.csv;
id,surname,name
1,ali,veli
2,mert,ayşe
3,ahmet,ozan
您可以通过基于记录的处理并结合 MergeRecord 将两个 csv 文件合并为一个文件来完成此操作,然后您可以使用 QueryRecord 处理器进行重复数据删除,查询如下:
SELECT * FROM FLOWFILE
INTERSECT
SELECT * FROM FLOWFILE
SELECT DISTINCT FROM FLOWFILE 将不起作用。这是方解石文档 https://calcite.apache.org/docs/reference.html
所以你需要:
- 忽略 header 设置为 true 的 CsvReader 控制器。
- CsvRecordWriter 控制器
- 合并记录
- 查询记录
在 QueryRecord 的输出中,您将获得经过去重的 CSV 文件。
输出:
我有两个csv文件,两个文件都有记录。我想删除重复的记录。我想获得独特的记录。我如何使用 Apache Nifi 做到这一点?
谢谢!
input1.csv;
id,surname,name
1,ali,veli
2,mert,tolga
input2.csv;
id,surname,name
1,ali,veli
3,ahmet,ozan
output.csv;
id,surname,name
1,ali,veli
2,mert,ayşe
3,ahmet,ozan
您可以通过基于记录的处理并结合 MergeRecord 将两个 csv 文件合并为一个文件来完成此操作,然后您可以使用 QueryRecord 处理器进行重复数据删除,查询如下:
SELECT * FROM FLOWFILE
INTERSECT
SELECT * FROM FLOWFILE
SELECT DISTINCT FROM FLOWFILE 将不起作用。这是方解石文档 https://calcite.apache.org/docs/reference.html
所以你需要:
- 忽略 header 设置为 true 的 CsvReader 控制器。
- CsvRecordWriter 控制器
- 合并记录
- 查询记录
在 QueryRecord 的输出中,您将获得经过去重的 CSV 文件。
输出: