Apache nifi ApacheNIFI:单实例python进程-ExecuteStreamCommand或类似命令

Apache nifi ApacheNIFI:单实例python进程-ExecuteStreamCommand或类似命令,apache-nifi,Apache Nifi,Apache NiFi的新功能。想知道是否可能实施该方案: 有一个Python脚本,它能够从stdin读取文件,并将转换结果放入stdout 无法在ExecuteScript中定义脚本,因为NumPy是一个依赖项 脚本初始化非常耗时 脚本将数GB的数据字典加载到内存中,这是执行转换所必需的 有没有办法在NiFi处理器中托管此类脚本的单例实例?实例的生命周期应持续到处理器停止 目标是避免对每个流文件进行代价高昂的脚本初始化以及相关的内存重新分配 相关问题:NiFi是否允许缓冲流文件并将集合作为

Apache NiFi的新功能。想知道是否可能实施该方案:

  • 有一个Python脚本,它能够从
    stdin
    读取文件,并将转换结果放入
    stdout
  • 无法在ExecuteScript中定义脚本,因为NumPy是一个依赖项
  • 脚本初始化非常耗时
  • 脚本将数GB的数据字典加载到内存中,这是执行转换所必需的
有没有办法在NiFi处理器中托管此类脚本的单例实例?实例的生命周期应持续到处理器停止

目标是避免对每个流文件进行代价高昂的脚本初始化以及相关的内存重新分配


相关问题:NiFi是否允许缓冲流文件并将集合作为一个整体传递给处理器?

您不能使用ExecuteStreamCommand
单实例

然而,有些想法:

singleton实例
-重新编写python脚本,通过http接收/回复流文件,启动它一次,这和您想要的一样,除了启动-停止要求

缓冲流文件并传递集合

  • 使用mergecontent with tar格式将多个流文件放在一个tarball归档中
  • 然后使用python脚本处理tar中的所有文件,并返回带有已处理文件的新tarball
  • 然后在nifi中提取tar存档

是的,脚本即服务也是一个考虑过的选项。非常感谢。