当前位置: 首页 > 知识库问答 >
问题:

在NiFi中,同一个分区中的事件是否会使用Kafka Consumer转到同一个FlowFile中

吉岳
2023-03-14

post将最大轮询记录设置为1,以保证一个流文件中的事件来自同一个分区。https://community.hortonworks.com/articles/223849/simple-backup-and-restore-of-kafka-messages-via-ni.html

这是否意味着如果使用消息Demarcator,同一个FlowFile中的事件可以来自不同的分区?

从源代码来看,我认为上面的想法是真的吗?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#l366

共有1个答案

仉明知
2023-03-14

当使用demarcator时,它为每个主题/分区创建一个包,因此您将获得所有消息都来自同一个主题分区的流文件:

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

post将max pool records设置为1的原因在post中有解释,这是因为只有当每个流文件有1条消息时,消息的密钥才可用,而在这种情况下,它们需要密钥。通常,最好不要这样做,每个流文件有很多消息。

 类似资料:
  • 问题内容: 我运行foo.com。我在foo.com中有两个不同的应用程序:一个是foo.com/bar,另一个是foo.com/example。我使用会话来跟踪有关用户登录的信息,但是如果用户从foo.com/bar转到foo.com/example,则foo.com/example会看到用户从foo.com/启动的会话并使用该信息。我的问题是,如何同时为每个目录进行两个不同的会话? 问题答案:

  • 打个比方,有一个日期选择组件,然后表单中有2个输入框 点击其中一个输入框,显示相对应日期选择组件,我该怎么写????除了将v-if用不同的属性外,有没有其他啥方法???

  • Kafka-来自同一组的多个使用者分配了相同的分区 我刚刚开始学习Kafka和诺德。我已经写了一篇关于消费者的文章如下 输出 有四个分区。 编辑 我使用了,如下所示。 生产者正在发送100条消息,收到的消息如下。这就是我如何知道分配的分区(不是从对象)。 当我运行两个这样的使用者实例(相同的主题和组)时,其中只有一个接收来自分区0的所有内容。这不是问题吗? 这是生产商代码。

  • 我有两个方法,它们都被注释为@Transactional。 我知道这两种方法将在两个不同的事务中执行。 但是这两个方法是在一个Hibernate会话中执行吗? spring事务管理器将会话保持到http请求结束。 我知道事务管理器可能会在它的 aop 代理中执行类似操作: 我只是找不到代码,如果我能在某处找到代码,我可以自己回答这个问题。

  • 我们的Java应用程序在Logback上使用SLF4J来记录错误消息。在我们的回复中。xml,我们为错误日志定义了一个appender,以及一个指定包层次结构顶层的记录器。 我们正在将记录数据的功能添加到不同的日志文件中。我创建了一个类来处理这个日志记录,我向logback.xml添加了一个新的appender和一个新的logger。新的logger指定了我创建的新类的完全限定包名称(以及addt

  • 每个人 都。我一直在寻找这个问题,但我在这里没有找到它,所以我想它真的很简单。 我正在用JavaFX创建一个非常简单的应用程序,只需一个按钮。现在我想处理它的事件(如按下或释放),但当我在互联网上看到示例时,它们都使用匿名类(每个事件都有一个不同的类),这在我看来让代码变得肮脏。这就是为什么我想将事件处理程序放在一个单独的类中,并将它们添加到按钮中。 问题是我不知道我是否必须为每个事件创建一个不同