我想使用NI-FI.In NI-FI将数据从源传输到目标,我还想使用python脚本来屏蔽我的Data.so。有人建议我将输入的数据行作为参数传递到python中。
所以我想知道我需要在我的python脚本中手动传递文件或每一行和每一列以进行屏蔽。最好的方法是什么,我如何才能获得它。
在NI-FI中,我也想使用python脚本来屏蔽我的数据,但是Getfile处理器和python脚本指出了位于NI-FI的输入文件夹中的相同文件,因此可能是由于这个原因,我在执行流命令时遇到错误。
以下脚本由user @GMc请求:-
class ModJSON(StreamCallback):
def __init__(self):
pass
def process(self, inputStream, outputStream):
flowFile = session.get()
obj = {
"Source": "NiFi",
"IP": obj['IP'].replace(regex='((?<=[0-9])[0-9]|(?<=\.)[0-9])', value='X'),
"Name": obj['user']['screen_name']
}在此脚本中,我希望屏蔽来自GetFile处理器但文件在队列中的数据。
我想从源中获取数据并转换它。
发布于 2019-05-07 18:09:44
这已经有一段时间了,但是如果我没记错的话,NiFi到python的接口为您提供了一个名为session的全局变量。
您可以使用session对象来获取流文件,并将输出传输到正确的下游路径(例如成功)。
也许本教程将帮助您使用https://community.hortonworks.com/articles/35568/python-script-in-nifi.html
我对您提到的GetInputFile (是指GetFile processor)有点困惑吗?和python脚本。通常,GetFile从文件系统获取文件。然后将其转换为NiFi中称为FlowFile的内部机制。下游处理器(例如python脚本)从会话对象获取流文件,对其执行一些操作,并可选地通过session.transfer方法传输修改后的版本。
https://stackoverflow.com/questions/56019630
复制相似问题