Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何确定卡夫卡消息的主题_Java_Apache Spark_Apache Kafka_Spark Streaming - Fatal编程技术网

Java 如何确定卡夫卡消息的主题

Java 如何确定卡夫卡消息的主题,java,apache-spark,apache-kafka,spark-streaming,Java,Apache Spark,Apache Kafka,Spark Streaming,我有下面这样的代码从卡夫卡读取并保存到Elasticsearch,我正在使用spark streaming: JavaDStream<String> liness = messages.map(new Function<ConsumerRecord<String, String>, String>() { @Override public String call(ConsumerRecord<String, String&

我有下面这样的代码从卡夫卡读取并保存到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();

我的问题是,我需要根据主题的名称使事件/重播动态化,我还能够在messages.map call中获取主题名称。但是,如何在此处添加动态?

您可以通过为每个主题生成一个流,或将消息流过滤到事件和重播RDD中来添加动态


将这两个单独保存到适当的ES标记

如何将消费者记录映射到一个新对象,该对象由两个字段组成:值的字符串和取决于主题的值?如果您只想将Kakfa记录保存到Elastic,为什么不使用Logstash或Kafka Connect?谢谢,cricket我更喜欢Spark。是的,Dominik,这是一种方法,但是我正在寻找一种方法,我必须改变台面。所以你宁愿编程并将其部署到某种类型的Spark集群,然后使用ELK stack或Kafka中内置的工具?