如何确定Kafka消息的主题

时间:2018-02-03 21:17:18

标签: java apache-spark apache-kafka spark-streaming

我有以下代码从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调用时获取主题名称但是如何在此处添加动态?

1 个答案:

答案 0 :(得分:1)

你会添加&#34;活力&#34;这里可以为每个主题制作一个流,也可以将messages流过滤为eventsredict个RDD。

单独地,将这两个保存到正确的ES指示中。