我有以下代码从Kafka读取并保存到Elasticsearch,我正在使用spark streaming:
JavaDStream<String> liness = messages.map(new Function<ConsumerRecord<String, String>, String>() {
@Override
public String call(ConsumerRecord<String, String> kafkaRecord) throws Exception {
System.out.println(kafkaRecord.topic() + kafkaRecord.value());
return kafkaRecord.value();
}
});
JavaEsSparkStreaming.saveJsonToEs(lines, "events/redict");
jssc.start();
我的问题是我需要根据主题的名称使"events/redict"
动态,我也可以在messages.map
调用时获取主题名称但是如何在此处添加动态?
答案 0 :(得分:1)
你会添加&#34;活力&#34;这里可以为每个主题制作一个流,也可以将messages
流过滤为events
和redict
个RDD。
单独地,将这两个保存到正确的ES指示中。