Я просматривал много документации Kafka для приложения Java, над которым я работаю. Я попытался войти в синтаксис лямбда, введенный в Java 8, но я немного отрывочен на этом основании и не чувствую себя слишком уверенным, что это должно быть то, что я использую пока.
У меня есть служба 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<String> stringSerde = Serdes.String();
KStreamBuilder builder = new KStreamBuilder();
KStream<String, String> 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 = ?
}
У меня есть zookeeper, kafka, производитель и потребитель, которые подключены к одной и той же теме, поэтому я хочу, чтобы в основном увидеть тот же самый String
во всех экземплярах (производитель, потребитель и поток).