Невозможно разделить содержимое на несколько потоковых файлов из потокового файла ExecuteScript - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть тестовый поток, чтобы разбить даты на несколько потоковых файлов. Эти даты генерируются из ExecuteScript.

Но, к сожалению, при использовании SplitContent для разделения на несколько потоковых файлов атрибуты потоковых файлов остаются неизменными и не разделяются.

Вот мой поток:

enter image description here

ExecuteScript создает атрибут потокового файла all_first_dates следующим образом: enter image description here

Я использую это в своем атрибуте UpdateAttribute, чтобы присвоить all_first_dates атрибуту dates. enter image description here

И так как мои значения дат разделены символом новой строки, я дал конфигурацию для splitcontent следующим образом:

enter image description here

Но при разбиении я обнаружил, что результат остается таким же, как и в оригинале.

enter image description here

1 Ответ

0 голосов
/ 07 ноября 2018

SplitContent процессор разбивает содержимое потокового файла на основе byte sequence, но not the flowfile attributes.

В вашем случае flow будет выглядеть примерно так:

1.GenerateFlowfile
2.ExecuteScript
3.ReplaceText //Always replace as Replacement strategy and 
    Replacement value as ${all_first_dates}
4.SplitContent (or) SplitText //to split each line as individual flowfile
5.ExtractText //add new property dates with value as (.*)
    Now each flowfile will have dates attribute with the value
6.PutFile.

Кроме того, если вы хотите получить определенное значение из $ {all_first_dates}, используйте функцию getDelimitedField для значения атрибута с использованием процессора UpdateAttribute.

...