2017-10-05 3 views
0

J'utilise Spark 1.6.0 et l'API artefact spark-streaming_2.11 avec Kafka pour consommer des messages chaîne.Impossible de créer des dstream d'entrée Java en utilisant KafkaUtils: Spark 1.6.0

Selon la documentation que je suis en train de créer un flux direct à l'aide Kafka utils mais je reçois l'erreur du compilateur ci-dessous:

The method createDirectStream(JavaStreamingContext, Class, Class, Class, Class, Map, Set) in the type KafkaUtils is not applicable for the arguments (JavaStreamingContext, Class, Class, Class, Class, Map, Set)

Voici l'extrait de code que je l'ai écrit:

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(); 

Est-ce un problème avec l'artefact et la version de Spark que j'utilise? S'il vous plaît jeter un peu de lumière sur cela.

Répondre