我一直在查看我正在研究的
Java应用程序的很多Kafka文档.我已经尝试了Java 8中引入的lambda语法,但是我在这方面有点粗略,并且不觉得它应该是我现在使用的那个.
我有一个Kafka / Zookeeper服务运行没有任何麻烦,我想要做的是编写一个小的示例程序,基于输入将写出来,但不做一个wordcount,因为已经有这么多的例子.
至于样本数据,我将得到一串以下结构:
示例数据
This a sample string containing some keywords such as GPS, GEO and maybe a little bit of ACC.
题
我希望能够提取3个字母的关键字并使用System.out.println打印它们.如何获取包含输入的字符串变量?我知道如何应用正则表达式,甚至只是搜索字符串来获取关键字.
码
public static void main(String[] args) {
Properties props = new Properties();
props.put(StreamsConfig.APPLICATION_ID_CONFIG, "app_id");
props.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, "0:0:0:0:0:0:0:1:9092");
props.put(StreamsConfig.ZOOKEEPER_CONNECT_CONFIG, "0:0:0:0:0:0:0:1:2181");
props.put(StreamsConfig.KEY_SERDE_CLASS_CONFIG, Serdes.String().getClass().getName());
props.put(StreamsConfig.VALUE_SERDE_CLASS_CONFIG, Serdes.String().getClass().getName());
final Serde stringSerde = Serdes.String();
KStreamBuilder builder = new KStreamBuilder();
KStream source = builder.stream(stringSerde, stringSerde, "in-stream");
KafkaStreams streams = new KafkaStreams(builder, props);
streams.start();
//How do I assign the input from in-stream to the following variable?
String variable = ?
}
我有动物园管理员,kafka,生产者和消费者运行所有连接到同一主题,所以我想基本上看到相同的字符串出现在所有实例(生产者,消费者和流).