Nifi断管ExecuteStreamCommand

时间:2019-06-28 16:26:32

标签: apache-nifi

在Nifi中,我正在运行ExecuteStreamCommand处理器,该处理器正在调用python脚本并将flowFile传递给stdin(忽略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用于从标准输入中读取

df = pd.read_csv(sys.stdin, usecols=schema_map.keys(),
                     nrows=50, dtype=parse_schema(schema_map))

1 个答案:

答案 0 :(得分:1)

出现此错误是因为NiFi无法持久化流文件状态以便能够显示其历史记录。

生成一个小的测试流程文件(读取一个非常小的csv文件)时,仍然会显示此错误吗?如果这样做,可能是大型文件导致超时的情况。

作为参考,this是引发异常的代码行。

我能够通过忽略stdin来解决此问题,但是在您的情况下,我想您可以将数据写入文件并通过路径来代替。