首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache NIFI“执行处理器”

Apache NIFI“执行处理器”
EN

Stack Overflow用户
提问于 2015-12-02 17:15:58
回答 3查看 740关注 0票数 2

Apache NIFI "ExecuteSQL Processor“能否将大量select结果以'x‘MB为单位进行流式传输?

EN

回答 3

Stack Overflow用户

发布于 2015-12-07 08:52:30

ExecuteSQL处理器可以“流式传输”大量行,因为它会将数据直接流式传输到FlowFile内容(不会保存在内存/堆中),因此它非常有效地利用了内存。然而,在这个时候,它不会对结果进行分块。不过,有一个票证https://issues.apache.org/jira/browse/NIFI-1251可以提供这样的功能。

票数 6
EN

Stack Overflow用户

发布于 2017-03-14 15:57:42

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

票数 0
EN

Stack Overflow用户

发布于 2022-02-20 12:45:34

您还可以在SQL本身中指定一个limit语句(以及一个sort by ID),拉取一个批处理,获取最后一个ID,拉取全部>max(id),重复直到完成,即

代码语言:javascript
复制
                                       Start
                                         |
    UpdateAttr: maxid--------- SQL ... $maxid:isEmpty():ifElse('', 'where id>maxid') order by id limit n
           |_____________________________|
                                         |
                                        do sth

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34038853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档