簡體   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