Apache nifi для добавления метки времени года, месяца и дня в объединенный выходной файл - PullRequest
0 голосов
/ 07 октября 2019

Я создаю сквозной поток для использования данных в HDFS, используя Consume Kafka для файлов Json, полученных через поток событий tealium. В настоящее время я использовал Consume Kafka -> Оценить Json Path -> Jolttransform Json -> Объединить содержимое -> Оценить Json Path -> Обновить атрибут -> PutHDFS

Требуется прочитать данные Json для целых дневных катушек водин файл, относящийся к атрибуту postdate (скрытая эпоха к метке времени YYYYMMDDSS до) и ежедневное чтение данных для объединения в один файл и, наконец, переименование файла в соответствии с меткой времени, связанной с полем POST_DATE, чтобы дифференцировать ежедневные файлы. Я сделал всю часть, кроме переименования метки времени для объединенного файла в соответствии с полем timestamp атрибута источника. Не могли бы вы помочь мне, как переименовать файл по атрибуту _year_month_day?

Ответы [ 2 ]

0 голосов
/ 09 октября 2019

@ gogocatmario, спасибо за ответ. Проблема решена после добавления следующего значения для свойства имени файла в update_attribute. tealium_es _ $ {post_date: toDate ("гггг-мм-дд чч: мм: сс"): формат ("гггг_ММ_дд")}. json1

0 голосов
/ 08 октября 2019

Если вы хотите проанализировать атрибуты "год" и "месяц" из POST_DATE, вы можете использовать функцию format и toDate.

Например:

-- year
format(toDate(${POST_DATE}, "YYYYMMDDSS"),"yyyy")

-- month
format(toDate(${POST_DATE}, "YYYYMMDDSS"),"MM")

--day
format(toDate(${POST_DATE}, "YYYYMMDDSS"),"dd")

Я не уверен, что означает Переименуйте файл , если это означает изменение имени файла перед переносом в HDFS, вы можете просто использовать процессор UpdateAttribute, тогда атрибут update содержит выводимя файла как ${year}_${month}_${day}.

...