Поступают ли события в одном разделе в один и тот же FlowFile с использованием Kafka Consumer в NiFi

list(map(chr, [66, 53, 0, 94]))

map (func, * iterables) -> map object Сделать итератор, который вычисляет функцию, используя аргументы из каждого из iterables. Остановка, когда исчерпана самая короткая итерация.

«Сделать итератор»

означает, что он вернет итератор.

", который вычисляет функцию с использованием аргументов из каждого из итераций "

означает, что функция next () итератора будет принимать одно значение каждого итератора и передавать каждый из них в один позиционный параметр function.

Итак, вы получаете итератор из map () funtion и jsut передаете его в список () встроенную функцию или используете списки.

0
задан Akira Sendoh 18 January 2019 в 16:01
поделиться

1 ответ

При использовании демаркатора он создает пакет для каждой темы / раздела, поэтому вы получите потоковые файлы, в которых все сообщения принадлежат одному разделу темы:

https://github.com/apache /nifi/blob/ea9b0db2f620526c8dd0db595cf8b44c3ef835be/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-0-9-processors/src/main/java/org/apache/nifi/processors/kafka/pubsub/ConsumerLease.java # L378

Причина, по которой пост установил максимальное количество записей пула в 1, была объяснена в посте, потому что ключ сообщений доступен только тогда, когда в файле потока есть 1 сообщение, и им нужно ключ в этом случае. В общем, лучше этого не делать и иметь много сообщений на файл потока.

0
ответ дан Bryan Bende 18 January 2019 в 16:01
поделиться