繁体   English   中英

无法使用KafkaUtils:Spark 1.6.0创建Java输入dstream。

[英]Unable to create Java input dstreams using KafkaUtils :Spark 1.6.0

我正在使用带有Kafka的Spark 1.6.0和工件spark-streaming_2.11 API来消耗字符串消息。

根据文档,我试图使用Kafka utils创建直接流,但出现以下编译器错误:

KafkaUtils类型的方法createDirectStream(JavaStreamingContext,Class,Class,Class,Class,Class,Map,Set)不适用于参数(JavaStreamingContext,Class,Class,Class,Class,Map,Set)

这是我写的代码片段:

conf = new SparkConf().setAppName("Test Streaming App").setMaster("local[*]");
sc = new JavaSparkContext(conf);
ssc = new JavaStreamingContext(sc, new Duration(2000));
Map<String, String> kafkaParams = new HashMap<String, String>();
kafkaParams.put("metadata.broker.list", "localhost:9092");
Set<String> topics = Collections.singleton("test");
JavaPairInputDStream<String, String> dstream = KafkaUtils.createDirectStream(ssc, String.class, String.class, StringDecoder.class, StringDecoder.class,kafkaParams,topics);
ssc.start();
ssc.awaitTermination();

我正在使用的工件和版本是否与此有关? 请对此加以说明。

问题出在StringDecoder类上,该类似乎不可访问。

按照下面的帖子

无法访问kafka.serializer.StringDecoder

我已按照接受的答案执行了上述步骤,并解决了该问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM