繁体   English   中英

Apache NIFI“执行处理器”

[英]Apache NIFI "Execute Processor"

Apache NIFI“ExecuteSQL 处理器”stream select 的大集合是否会导致块说“x”MB?

ExecuteSQL处理器可以将大量的行直接“流化”,因为它将数据直接流化为FlowFile内容(不会保存在内存/堆中),因此具有很高的内存效率。 但是,此时它不对结果进行分块。 不过,有一张票https://issues.apache.org/jira/browse/NIFI-1251提供了这种功能。

现在,您可以使用通过“每个流文件的最大行数”属性支持分块的QueryDatabaseTable处理器。

您还可以在 SQL 本身中指定一个限制语句(以及按 ID 排序),提取一批,获取最后一个 ID,提取所有 >max(id),重复直到完成,即

                                       Start
                                         |
    UpdateAttr: maxid--------- SQL ... $maxid:isEmpty():ifElse('', 'where id>maxid') order by id limit n
           |_____________________________|
                                         |
                                        do sth

它是由 # records 而不是 size - 但知道每条记录的大约大小,你仍然可以这样做

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM