2017-11-17 2 views
0

私はkafkaを開始し、トピックとプロデューサを作成しました。今、私はそのプロデューサーから送られたメッセージを読みたいと思っています。私のコードスパークストリーミングを使用してカフカコンシューマを作成する

def main(args: Array[String]){ 
    val sparkConf = new SparkConf() 
    val spark = new SparkContext(sparkConf) 

    val streamingContext = new StreamingContext(spark, Seconds(5)) 
    val kafkaStream = KafkaUtils.createStream(streamingContext 
     , "localhost:2181" 
     , "test-group" 
     , Map("test" -> 1)) 
    kafkaStream.print 
    streamingContext.start 
    streamingContext.awaitTermination 
    } 

私は

<properties> 
    <spark.version>1.6.2</spark.version> 
    </properties> 

    <dependencies> 
    <dependency> 
     <groupId>org.apache.spark</groupId> 
     <artifactId>spark-core_2.11</artifactId> 
     <version>${spark.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.spark</groupId> 
     <artifactId>spark-streaming_2.11</artifactId> 
     <version>${spark.version}</version> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.spark</groupId> 
     <artifactId>spark-sql_2.11</artifactId> 
     <version>${spark.version}</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.spark</groupId> 
     <artifactId>spark-streaming-kafka_2.11</artifactId> 
     <version>${spark.version}</version> 
    </dependency> 
    </dependencies> 

使用従属関係しかし、私はアイデアでそれを実行しようとするたびに私はここ

Exception in thread "main" java.lang.NoSuchMethodError: scala.Predef$.$conforms()Lscala/Predef$$less$colon$less; 
    at org.apache.spark.util.Utils$.getSystemProperties(Utils.scala:1582) 
    at org.apache.spark.SparkConf.<init>(SparkConf.scala:59) 
    at org.apache.spark.SparkConf.<init>(SparkConf.scala:53) 
    at com.mypackage.KafkaConsumer$.main(KafkaConsumer.scala:10) 
    at com.mypackage.KafkaConsumer.main(KafkaConsumer.scala) 

その他の質問を受ける依存関係の間の競合を指します。

私はスカラ2.10.5とスパーク1.6.2を使用します。他のプロジェクトで試してみましたが、うまくいきました。この場合

10行目は、私はそれをパッケージ化することなく、IDEAでアプリを実行しようval sparkConf = new SparkConf()

です。 この問題の原因は何ですか?

答えて

0

Scalaバージョンではエラーです。コードと依存関係に異なるバージョンのスカラーを使用しています。

あなたはscala 2.10を使用していますが、spark-XX_2.11の依存関係をインポートしたとします。あなたのスカラのバージョンを統一してください。

関連する問題