Репозиторий содержимого NiFi и репозиторий FlowFile основаны на механизме копирования при записи, поэтому, если вы не изменяете содержимое или метаданные, вы не обязательно «сохраняете» 15 ГБ для этих процессоров.
Сказав, что, если все, что вам нужно, это наличие таких потоковых файлов на диске (но не содержимого или метаданных), попробуйте ExecuteScript с помощью следующего скрипта Groovy:
def flowFiles = session.get(1000)
flowFiles.each {
session.transfer(session.create(), REL_SUCCESS)
}
session.remove(flowFiles)
Этот скрипт будет работать до1000 потоковых файлов одновременно, и для каждого из них отправляйте пустой потоковый файл вниз по течению.Затем он удаляет все исходные файлы входящего потока.
Обратите внимание, что это (т. Е. Ваш случай использования) "сломает" цепочку провенанса / происхождения, поэтому, если что-то пойдет не так в вашем потоке, вы не сможетечтобы сказать, какие потоковые файлы поступили из каких родительских потоковых файлов и т. д. Это ограничение является одной из причин, почему вы не видите полноценный процессор, который выполняет такую функцию.