根据条件从 kafka 数据存储(Rocks DB)中获取记录

时间:2021-07-20 16:21:17

标签: apache-kafka apache-kafka-streams

现在我正在使用 kafka 数据存储 (Rocks DB) 来存储来自主题的中间数据。我在此基础上使用 https://kafka.apache.org/20/documentation/streams/developer-guide/interactive-queries.html

编写了一些交互式查询

// 获取此应用程序实例中所有可用键的值

KeyValueIterator<String, Employee> range = keyValueStore.all(); 
while (range.hasNext()) {   
KeyValue<String, Employee> next = range.next();  

System.out.println("count for " + next.key + ": " + value); 
}

Employee record saved is Employee(id, name)
Sr.No.  Id      Name
1       emp_1   John
2       emp_2   Jamie
3       emp_3   John

现在我需要所有名为 John 的员工。我找不到任何基于 this(where) 子句获取数据的解决方案。现在我正在获取所有记录并在我的 Java 代码中过滤这些记录。请建议是否有任何其他解决方案。我希望在获取记录时过滤所有记录。

1 个答案:

答案 0 :(得分:2)

<块引用>

在我的java代码中获取所有记录并过滤

这是正确的做法。

如果你真的想要“WHERE 子句”,你会想看看 ksqlDB,which can be embedded in Java code

相关问题