【发布时间】:2019-06-28 16:26:32
【问题描述】:
在 Nifi 中,我正在运行一个 ExecuteStreamCommand 处理器,该处理器正在调用 python 脚本并将 flowFile 传递给 stdin(忽略 StdIN:False)。即使 python 脚本正确执行并且能够从标准输入中读取,我也会从处理器中得到持续的错误。为什么会出现此错误,我该如何调试/抑制它?
Failed to write flow file to stdin due to Broken pipe: java.io.IOException: Broken pipe
Pandas 用于从标准输入读取:
df = pd.read_csv(sys.stdin, usecols=schema_map.keys(),
nrows=50, dtype=parse_schema(schema_map))
【问题讨论】:
-
您能否分享您的
ExecuteStreamCommand处理器的配置以及来自$NIFI_HOME/logs/nifi-app.log的其他日志?看来 Java (NiFi) 无法将流文件内容写入 STDIN。 -
另外请分享您从标准输入读取的python代码部分。
-
我检查了 nifi-app.log 但没有看到任何与 stdin 或 executeStreamCommand 相关的内容(该日志恰好被来自 fetchS3 处理器的周期性 S3 访问拒绝错误淹没)。会不会是无法写入stdin的flowFile是上游处理器的错误?
标签: apache-nifi