【问题标题】:Method for collecting user input within NiFi topology在 NiFi 拓扑中收集用户输入的方法
【发布时间】:2017-06-16 18:54:25
【问题描述】:

我是 NiFi 新手,所以我不确定这是否可行(或正确的设计方法):

我正在尝试创建一个处理管道,在其中 NiFi 获取文件(可能 数 GB 大小)并执行一些处理 - 非常简单,直到...

需要向最终用户显示一小部分结果数据。用户提供输入,然后 NiFi 需要对原始数据集进行后续处理。

我打算使用Wait 处理器,使用PostHTTP 处理器提示用户(通过GUI),然后使用Notify 处理器。流程如下所示:

FetchFile ==> Initial Processing ==> Wait

  • 提示用户输入(通过PostHTTP 处理器)
  • 接收用户输入(通过ListenHTTP 处理器)

Notify ==> Follow-on Processing

不幸的是,PostHTTP 处理器将 FlowFile 的内容的 ALL 发布到指定的端点 ... 同样,其大小可能是 数 GB ...这是令人望而却步的。

是否有用于此类用户交互的“独立”NiFi 处理器(不包括 FlowFile 内容)?此用例是否有另一种实施策略?或者这甚至不是 NiFi 的正确应用?

谢谢!

【问题讨论】:

    标签: apache-nifi


    【解决方案1】:

    一种可能的方法是将文件写入临时存储(本地磁盘、HDFS、S3 等),写入用户操作请求,然后完全退出 NiFi。在用户采取行动后,流程将重新启动。要触发重启,您可以将 UI 发布到 NiFi、写入消息队列或将另一个文件写入 NiFi 正在轮询的目录。

    我认为这对于管理用户交互会更加灵活,因为您不必在 HTTP 发布周期中完成整个 UI 响应。

    【讨论】:

    • 谢谢——我一直在阅读各种 NiFi 处理器……可能使用 PutWebsocket 处理器工作吗?它似乎没有携带 FlowFile 内容...
    • 是的,我认为这可以与您现有的等待/通知流程一起使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多