Я хочу загрузить несколько сообщений Kafka в несколько папок HDFS в Nifi - PullRequest
0 голосов
/ 14 мая 2019

В настоящее время я использую ConsumeKafkaRecord, Merge Content и PutHDFS для загрузки данных из kafka в Hive. Нам нужно автоматизировать это для нескольких тем кафки. Есть ли способ сделать это в нифи.

Например: если я задаю названия тем как abc, xyz данные из темы abc должны быть перемещены в / abc, а данные из xyz должны быть перемещены в папку / xyz.

Пожалуйста, предложите.

Ответы [ 2 ]

4 голосов
/ 14 мая 2019

Процессор ConsumeKafkaRecord записывает атрибут с именем kafka.topic, который содержит название темы, из которой получены записи.

И параметр directory PutHDFS поддерживает язык выражений.

так, вы можете указать что-то вроде /${kafka.topic}

0 голосов
/ 20 мая 2019

Что касается вашей второй части вопроса, вы можете объединять файлы (используя mergeContent) на основе атрибута 'kafka.topic'.Таким образом, вы можете объединить контент разных тем, используя один процессор.(Данные каждой темы будут объединены только с данными этой конкретной темы)

Затем вы можете направить файлы в разные каталоги в HDFS, указав путь как "hdfs: // $ {your-hdfs-путь} / $ {kafka.topic} "

Дайте мне знать, если вам нужна дополнительная помощь!

...