Nifi断管执行流命令。

问题描述 投票:0回答:1

在Nifi中,我正在运行一个ExecuteStreamCommand处理器,它正在调用一个python脚本,并将flowFile传给stdin(Ignore StdIN: False)。即使python脚本正确执行并且能够从stdin读取,我还是不断从处理器中得到错误。为什么会出现这样的错误,如何才能调试抑制它?

Failed to write flow file to stdin due to Broken pipe: java.io.IOException: Broken pipe

enter image description here

Pandas是用来从stdin读取的。

df = pd.read_csv(sys.stdin, usecols=schema_map.keys(),
                     nrows=50, dtype=parse_schema(schema_map))
apache-nifi
1个回答
1
投票

这个错误的出现是因为NiFi未能持久化flowfile的状态,以便能够显示它的历史。

当你生成一个小的测试流文件(读取一个非常小的csv文件)时,这个错误还会出现吗?如果是,那可能是大文件导致超时的情况。

供参考。这个 是引发异常的那行代码。

我可以通过忽略stdin来解决这个问题,但是在你的情况下,我想你可以把数据写到一个文件中,然后传递路径。

© www.soinside.com 2019 - 2024. All rights reserved.