在记录中拆分CSV文件并另存为csv文件格式-Apache NIFI

时间:2018-12-12 10:19:08

标签: apache csv apache-nifi

我想做的是以下...

我想将输入文件分成寄存器,将每个记录转换成一个 文件,并将所有文件保留在目录中。

我的.csv文件具有以下结构:

    ERP,J,JACKSON,8388 SOUTH CALIFORNIA ST.,TUCSON,AZ,85708,267-3352,,ALLENTON,MI,48002,810,710-0470,369-98-6555,462-11-4610,1953-05-00,F,
ERP,FRANK,DIETSCH,5064 E METAIRIE AVE.,BRANDSVILLA,MO,65687,252-5592,1176 E THAYER ST.,COLUMBIA,MO,65215,557,291-9571,217-38-5525,129-10-0407,1/13/35,M,

如您所见,它没有标题行。

这是我的流程。 enter image description here

我的问题是,当拆分处理器将csv分为400行时,它没有保存在我的输出目录中。

抱歉,这是第一次使用NIFI。

1 个答案:

答案 0 :(得分:4)

确保正确配置<form *ngFor="let item of myStringArray"> <input name="value" [ngModel]="map.get(item)" (ngModelChange)="map.set(item, $event)"> </form> (delimiter..etc)以读取传入的流文件。

  • 每个拆分值的记录为1

RecordReader controller service 处理器之前,您需要使用 UpdateAttribute 处理器将文件名更改为唯一值(例如UUID)除非< / em>(如果您将 PutFile 处理器冲突解决策略配置为PutFile

  • 更改文件名的原因是 Ignore 处理器将对所有拆分的流文件使用SplitRecord

流量:

enter image description here

我尝试了您的情况,流程按预期工作,使用this模板作为您的参考,并same filename用于您的NiFi实例,根据您的要求进行更改。