[英]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.