Есть ли способ зацикливаться на языке выражений NiFi, чтобы добавить заполнение данных? - PullRequest
0 голосов
/ 26 июня 2018

В записи есть поле даты. Это в формате ниже «ГГГГ-ММ-ДД ЧЧ: ММ: СС.sss» (используя это значение даты в виде строки). В некоторых записях миллисекунды округляются от источника, например

  1. 2018-05-15 15: 30: 20.123
  2. 2018-05-15 15: 30: 20.12
  3. 2018-05-15 15: 30: 20,3

Есть ли способ дополнить нули в примерах 2 и 3, как показано ниже в NiFi?

  1. 2018-05-15 15: 30: 20.120
  2. 2018-05-15 15: 30: 20.300

Есть ли способ зацикливаться на языке выражений NiFi?

PS: Прямо сейчас я использую три разных процессора для выполнения этого цикла, используя дату в качестве атрибута, проверяя ее длину в качестве условия и решая добавить «0», если необходимо. И еще один подход, который я попробовал, - это использование процессора сценариев Execute. Но пытаясь найти, есть ли лучшее решение для этого? .

1 Ответ

0 голосов
/ 26 июня 2018

предполагается, что у вас есть атрибут date = 2018-05-15 15:30:20.3

вы можете использовать updateattribute с таким выражением:

${date:append('000'):replaceAll('(\\.\\d{3})(.*)$','$1')}

добавить дополнительные нули, а затем удалить ненужные с помощью регулярного выражения заменить

...