在NiFi中将流文件的文件名附加到CSV文件

时间:2018-06-08 15:18:47

标签: apache-nifi

首先,我使用listFile处理器列出特定地图中的所有文件。然后,我想在NiFi中将$ {filename}的流文件追加到extern文件example.csv中。我考虑过在Python上使用ExecuteScript,但不知道如何使用。

我尝试了以下内容:

使用两个列表处理器,一个用于映射,另一个用于example.csv文件。 replaceText处理器将文本替换为${filename}mergeContentputFile(replace example.csv)。仅在第一次工作。

1 个答案:

答案 0 :(得分:1)

可以使用ExecuteScript处理器,在python中使用以下脚本

from org.apache.nifi.processors.script import ExecuteScript 
import subprocess

flowFile = session.get()
if flowFile is not None:
     myCsvRow = flowFile.getAttribute('filename')
     fd = open('/path/to/your/map/files.csv','a')
     fd.write(myCsvRow)
     fd.close()
     session.transfer(flowFile,ExecuteScript.REL_SUCCESS)