Apache kafka kafka流中的处理器节点

Apache kafka kafka流中的处理器节点,apache-kafka,apache-kafka-streams,Apache Kafka,Apache Kafka Streams,我正在处理卡夫卡流中的处理器节点。对于一个简单的代码,我编写如下代码只是为了过滤UserID,这是在kafka streams中执行处理器节点的正确方法吗 但是,下面的代码没有编译,抛出了一个错误:方法过滤器(Predicate可能您正在使用另一个包中的Predicate类。您需要使用 import org.apache.kafka.streams.kstream.Predicate; builder.stream(主题)返回KStream类型,因为您没有指定泛型类型。并且与不兼容 如果您知道

我正在处理卡夫卡流中的
处理器节点
。对于一个简单的代码,我编写如下代码只是为了过滤
UserID
,这是在kafka streams中执行
处理器节点
的正确方法吗


但是,下面的代码没有编译,抛出了一个错误:
方法过滤器(Predicate可能您正在使用另一个包中的
Predicate
类。您需要使用

import org.apache.kafka.streams.kstream.Predicate;
builder.stream(主题)
返回
KStream
类型,因为您没有指定泛型类型。并且
不兼容

如果您知道实际类型为
KStream
,则可以按如下方式指定类型:

builder.stream(主题)
.filter(…)
要回答关于“处理器节点”的问题:是的,添加一个
filter()
将在内部添加一个处理器节点。请注意,在DSL级别,您通常不需要考虑处理器

如果要明确使用处理器,可以使用处理器API而不是DSL。请查看WordCount示例:


请注意,使用DSL,代码将在内部转换为处理器拓扑,这是Kafka Streams的运行时模型。

我使用的是同一个包。嗨,Mathias,我的“消息”为NULL。我们如何实际获取此“消息”?我在这里创建了一个新的查询-
import org.apache.kafka.streams.kstream.Predicate;