Nifi SplitXML и EvaluateXPath производительность и использование памяти? - PullRequest
0 голосов
/ 21 февраля 2019

Я получаю примерно 800-1000 xml в секунду .Каждый XML около 50-60 КБ .Я думаю об использовании SplitXML и EvaluateXPath для разбора XML .Но я не знаю, как будет использование памяти и производительность .Эти процессоры загружают весь xml в память?

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Какой вид последующей обработки вы делаете?Вы можете обнаружить, что вы можете заменить SplitXml и EvaluateXPath процессорами на основе записей, такими как UpdateRecord или QueryRecord, используя XMLReader и / или XMLRecordSetWriter.Затем вы можете работать со всеми записями в XML-файле в одно и то же время по сравнению с необходимостью их разделения и выполнения идентичных действий для каждой из них.

0 голосов
/ 21 февраля 2019

В документации процессоров есть раздел с именем System Resource Considerations.Этот раздел рассказывает вам о таких рисках. SplitXml загружает все содержимое FlowFile в память, но EvaluateXPath , похоже, этого не делает.Вместо SplitXml вы можете использовать SplitRecord , который не загружает весь документ в память.

...