Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.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 通过Spark Streaming从Kafka broker中的特定主题分区读取数据_Java_Apache Spark_Spark Streaming - Fatal编程技术网

Java 通过Spark Streaming从Kafka broker中的特定主题分区读取数据

Java 通过Spark Streaming从Kafka broker中的特定主题分区读取数据,java,apache-spark,spark-streaming,Java,Apache Spark,Spark Streaming,我是新来为提出这样的问题而道歉的。我有一个用例,在这个用例中,我希望借助Spark流从主题的特定分区读取数据。我正在使用Spark Java API来完成所有工作 我创建了一个名为test的主题,其中包含复制因子2和5分区。希望在spark streaming Kafka integration guide的帮助下,我能够完成创建JavaStreamingContext对象、创建到Kafka broker的直接流以及读取所有分区中的所有消息等所有工作 但我的用例仍然没有实现,我必须在Kafka

我是新来为提出这样的问题而道歉的。我有一个用例,在这个用例中,我希望借助Spark流从主题的特定分区读取数据。我正在使用Spark Java API来完成所有工作

我创建了一个名为test的主题,其中包含复制因子2和5分区。希望在spark streaming Kafka integration guide的帮助下,我能够完成创建JavaStreamingContext对象、创建到Kafka broker的直接流以及读取所有分区中的所有消息等所有工作


但我的用例仍然没有实现,我必须在Kafka broker中只读取主题的特定分区的消息,而不是所有分区的所有消息

您应该能够使用以下代码从特定偏移量读取特定分区

Map<TopicAndPartition, Long> consumerOffsets = new HashMap<TopicAndPartition, Long>();
TopicAndPartition p1 = new TopicAndPartition("yourtopic","yourpartition");
consumerOffsets.put(p1,offset);

JavaInputDStream<String>  messages = KafkaUtils.createDirectStream(
        jssc, 
        String.class, 
        String.class,
        StringDecoder.class, 
        StringDecoder.class, 
        String.class,
        kafkaParams,
        consumerOffsetsLong,
        new Function<MessageAndMetadata<String, String>, String>() {
            public String call(MessageAndMetadata<String, String> msgAndMeta) throws Exception {
                return msgAndMeta.message();
            }
        }
);
Map consumerofsets=newhashmap();
TopicAndPartition p1=新的TopicAndPartition(“您的主题”、“您的分区”);
消费函数集put(p1,偏移量);
JavaInputDStream消息=KafkaUtils.createDirectStream(
jssc,
String.class,
String.class,
StringDecoder.class,
StringDecoder.class,
String.class,
卡夫卡帕拉姆斯,
消费主义者,
新函数(){
公共字符串调用(MessageAndMetadata msgAndMeta)引发异常{
返回msgAndMeta.message();
}
}
);