2017-08-22 5 views
2

私は、Sparkアプリケーションをpysparkを使用した構造化ストリーミングを使用して実行したいと考えています。"java.lang.IncompatibleClassChangeError:Implementing class"で構造化ストリーミングが失敗するのはなぜですか?

私はKafka 0.10バージョンでSpark 2.2を使用します。

は、私は次のエラーで失敗する:

java.lang.IncompatibleClassChangeError: Implementing class

​​コマンドは以下のように使用:

/bin/spark-submit \ 
    --packages org.apache.spark:spark-streaming-kafka-0-10_2.11:2.2.0 \ 
    --master local[*] \ 
    /home/umar/structured_streaming.py localhost:2181 fortesting 

structured_streaming.pyコード:

from pyspark.sql import SparkSession 
spark = SparkSession.builder.appName("StructuredStreaming").config("spark.driver.memory", "2g").config("spark.executor.memory", "2g").getOrCreate() 
raw_DF = spark.readStream.format("kafka").option("kafka.bootstrap.servers", "localhost:2181").option("subscribe", "fortesting").load() 
values = raw_DF.selectExpr("CAST(value AS STRING)").as[String] 
values.writeStream.trigger(ProcessingTime("5 seconds")).outputMode("append").format("console").start().awaitTermination() 

答えて

-1

This

を参照してください。

現在、Pythonをサポートしていないspark-streaming-kafka-0-10を使用しています。

1

あなたは、構造化されたストリーミングにspark-sql-kafkaが必要になります。

--packages org.apache.spark:spark-sql-kafka-0-10_2.11:2.2.0 

はまた、あなたがあなたのクラスタ上で使うとあなたは同じスカラ座のバージョン(上記2.11)とスパーク(2.2.0)を使用していることを確認してください。

関連する問題