2015-11-25 1 views
0

Я сейчас в процессе написания процессора ElasticSearch Nifi. Индивидуальные вставки/записи в ES не являются оптимальными, вместо этого предпочтительными являются пакетные документы. Что будет считаться оптимальным подходом в процессоре Nifi для отслеживания (пакетного) документа (FlowFiles) и когда на определенную сумму их партия? Я больше всего беспокоюсь о том, является ли ES недоступным, недоступным, сетевым разделом и т. Д., Препятствует успешной работе пакета. Основная точка вопроса заключается в том, что Nifi имеет хранилище контента для очереди/противодавления и т. Д. Существует ли предпочтительный метод для использования этого, чтобы гарантировать, что FlowFiles не будет потерян, если пункт назначения не работает? Может быть, есть еще один процессор, на который я должен обратить внимание?Nifi процессор пакетной вставки - сбой ручка

Я рассмотрел процессор Mongo, Merge и т. Д., Чтобы попытаться получить представление о предпочтительном подходе к пакетной обработке внутри процессора, но не может найти ничего конкретного. Мы ценим любые предложения.

Хороший шанс, я упускаю из виду некоторые основные функции, запеченные в Nifi. Я до сих пор довольно новичок в платформе.

Спасибо!

ответ

2

Большой вопрос и довольно общий шаблон. Вот почему у нас есть концепция ProcessSession. Он позволяет отправлять ноль или более вещей во внешнюю конечную точку и только фиксировать, как только вы знаете, что он был получен от получателя. В этом смысле он предлагает как минимум семантику. Если используемый протокол поддерживает двухфазную семантику стиля фиксации, вы можете приблизиться к когда-либо неуловимому точно-семантическому смыслу. Значительная часть информации о том, о чем вы просите, будет зависеть от API-интерфейсов и поведения систем назначения.

Есть несколько примеров в кодовой базе apache, которые показывают способы сделать это. Один из способов заключается в том, что вы можете создать объединенный сбор событий до нажатия на целевую систему. Зависит от своего API. Я думаю, что PutMongo и PutSolr работают таким образом (хотя эксперты по этому поводу должны будут взвесить). Пример, который может быть больше похож на то, что вы ищете, можно найти в PutSQL, который работает с партиями файловых файлов для отправки в одной транзакции (в целевой БД).

https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PutSQL.java

будет держать глаза здесь, но может получить глаз большой группы Nifi на [email protected]

Благодаря Джо

+0

Круто. Спасибо Джо! Я также отправил записку на адрес [email protected] Я думал, что если бы у меня был ответ, я бы снова отправил его сюда. Я очень ценю ваш ответ. Я рассмотрю примеры. – scarpacci

Смежные вопросы