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