Проблемы с процессором Nifi UpdateRecord - PullRequest
0 голосов
/ 28 января 2020

Мы используем nifi под нашим ETL-приложением и столкнулись с проблемой при работе с процессором UpdateRecord. В то время как мы начали работать над уровнем атрибутов в Nifi, например, когда-то поток был

List File-> Fetch File ->SpliText -> ExtractText -> UpdateAttribute -> AttributestoCSV -> CSVtoORC -> MergeContent ->PutHDFS

В этом подходе у нас была гибкость в использовании языка выражений nifi, но этот шаблон не работал в основном из-за Слияние было очень медленным. Затем мы переключились на подход прямого обновления контента с использованием UpdateRecord без разделения записей и не используя атрибуты для обновления.

Теперь проблема в том, что в процессоре UpdateRecord, если мне нужно использовать Язык выражений nifi, а не DSL (который имеет ограниченные функции), создает две проблемы:

  1. Я не могу создать производные поля, потому что ${field.value} берет существующий столбец и записывает в существующий столбец только.

  2. ${field.value} учитывает только один столбец, например, если мне нужно объединить два столбца, которые я не могу использовать с помощью языка выражений, мне придется переключиться на DSL. Это создает несколько UpdateRecord для меня, что мне неудобно цитировать представление.

Пожалуйста, проведите меня через это.

...