Apache nifi Nifi断管EXECUTESTREAM命令

Apache nifi Nifi断管EXECUTESTREAM命令,apache-nifi,Apache Nifi,在Nifi中,我运行一个ExecuteStreamCommand处理器,它调用一个python脚本并将流文件传递给stdin Ignore stdin:False。即使python脚本正在正确执行,并且能够从stdin读取数据,我也会从处理器中不断收到错误。为什么会出现此错误?如何调试/抑制它 Failed to write flow file to stdin due to Broken pipe: java.io.IOException: Broken pipe 熊猫用于阅读标准DIN:

在Nifi中,我运行一个ExecuteStreamCommand处理器,它调用一个python脚本并将流文件传递给stdin Ignore stdin:False。即使python脚本正在正确执行,并且能够从stdin读取数据,我也会从处理器中不断收到错误。为什么会出现此错误?如何调试/抑制它

Failed to write flow file to stdin due to Broken pipe: java.io.IOException: Broken pipe
熊猫用于阅读标准DIN:

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

出现此错误是因为NiFi未能保持流文件状态以显示其历史记录

当您生成一个很小的测试流文件读取一个很小的csv文件时,这个错误还会出现吗?如果是这样,则可能是一个大文件导致超时

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


我可以通过忽略stdin来解决这个问题,但在您的情况下,我想您可以将数据写入文件并传递路径。

您可以从$NIFI\u HOME/logs/NIFI-app.log共享ExecuteStreamCommand处理器的配置和其他日志吗?Java NiFi似乎在将流文件内容写入STDIN时遇到问题。另外,请共享从STDIN读取的python代码部分。我检查了NiFi-app.log,但没有看到任何与STDIN或executeStreamCommand相关的内容。日志恰好被来自fetchS3处理器的周期性S3拒绝访问错误淹没。无法写入stdin的流文件可能是上游处理器的错误吗?