2016-05-17 9 views
1

私は最近、IBM Bluemixの作業を開始し、スパークストリーミングセクションにショットを付けることを望みました。スパークによるTwitterハッシュタグのリアルタイム感情分析||ストリーミングサービスを開始する際にエラーが発生しました

私は、スパークとワトソンのTwitterハッシュタグの感情分析を紹介する2つのチュートリアルで作業を始めました。

しかし、提供症例のどれでIスパークストリームを開始することができました。

両方のチュートリアルでは、付属のGithub project's iPythonノートブックを使用して、Spark Streamingを使用したサンプルアプリケーションを表示しています。

これは、最初のノートブックを使用して発生した例外の例外ログです。

Registering JaasConfiguration: /tmp/pMftPERZFap2a9SH/jaas.conf 
Setting hadoop configuration for swift container 
https://kafka-rest-prod01.messagehub.services.us-south.bluemix.net:443/admin/topics 
https://kafka-rest-prod01.messagehub.services.us-south.bluemix.net:443/admin/topics 
https://kafka-rest-prod01.messagehub.services.us-south.bluemix.net:443/admin/topics 
default location of ssl Trust store is: /usr/local/src/spark160master/ibm-java-x86_64-80/jre/lib/security/cacerts 
Twitter stream started 
Tweets are collected real-time and analyzed 
To stop the streaming and start interacting with the data use: StreamingTwitter.stopTwitterStreaming 
Receiver Started: KafkaReceiver-0 
Receiver Stopped: KafkaReceiver-0 
Reason: org.apache.kafka.common.config.ConfigException: Invalid value com.ibm.cds.spark.samples.StatusDeserializer for configuration value.deserializer: Class com.ibm.cds.spark.samples.StatusDeserializer could not be found. 
    at org.apache.kafka.common.config.ConfigDef.parseType(ConfigDef.java:204) 
    at org.apache.kafka.common.config.ConfigDef.parse(ConfigDef.java:122) 
    at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:48) 
    at org.apache.kafka.clients.consumer.ConsumerConfig.<init>(ConsumerConfig.java:194) 
    at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:380) 
    at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:363) 
    at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:350) 
    at com.ibm.cds.spark.samples.dstream.KafkaReceiver.onStart(KafkaInputDStream.scala:88) 
    at org.apache.spark.streaming.receiver.ReceiverSupervisor.startReceiver(ReceiverSupervisor.scala:148) 
    at org.apache.spark.streaming.receiver.ReceiverSupervisor.start(ReceiverSupervisor.scala:130) 
    at org.apache.spark.streaming.scheduler.ReceiverTracker$ReceiverTrackerEndpoint$$anonfun$9.apply(ReceiverTracker.scala:575) 
    at org.apache.spark.streaming.scheduler.ReceiverTracker$ReceiverTrackerEndpoint$$anonfun$9.apply(ReceiverTracker.scala:565) 
    at org.apache.spark.SparkContext$$anonfun$38.apply(SparkContext.scala:1997) 
    at org.apache.spark.SparkContext$$anonfun$38.apply(SparkContext.scala:1997) 
    at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:66) 
    at org.apache.spark.scheduler.Task.run(Task.scala:89) 
    at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:213) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 
    at java.lang.Thread.run(Thread.java:785) 
: Error starting receiver 0 

資格情報(Twitter App、Kafka Service Credentials)を入力する必要のあるノートブックの一部が表示されます。私はそれがクレデンシャル関連であると思ったので、クレデンシャルの問題であれば何度か再チェックしました。その後、サンプルプロジェクトで使用されたさまざまなクラスとエラーログに記載されたクラスを見てみましたが、問題を解決するようだ。

私は、この問題に対する答えは、コードのこれら3行の範囲内にあると思います:私はこの問題を解決することができます方法についていくつかのガイダンスを提供

Reason: org.apache.kafka.common.config.ConfigException: Invalid value com.ibm.cds.spark.samples.StatusDeserializer for configuration value.deserializer: Class com.ibm.cds.spark.samples.StatusDeserializer could not be found. 
    at org.apache.kafka.common.config.ConfigDef.parseType(ConfigDef.java:204) 
    at org.apache.kafka.common.config.ConfigDef.parse(ConfigDef.java:122) 
    at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:48) 

してください。私は新しいものを試してみたいと思っていますが、どのような問題かを確認する必要があります。

+0

こんにちは、 あなたが見つからないクラスのこの問題にヒットしないように、すべてのクラスをインポートしてください。アセンブラjarファイルの%Addjarの後にこの権限をインポートします。 import com.ibm.cds.spark.samples._ これは断続的な問題のようです。 ありがとう、 チャールズ。 –

+0

こんにちはチャールズ、ご指導ありがとうございます。あなたが提案したものを試しましたが、サンプルプロジェクトコードの問題であると思います。私はちょうどgithubを介してプロジェクトの著者に連絡した、私は彼がそれを調べることを願っています。 – Nick

答えて

0

この問題を引き起こしたスパークサービスに変更がありました。修正が提供されました。もう一度アプリを起動してみてください。 ありがとう、David

0

現在、私はReal-Time Sentiment Analysis Tutorialにも従っています。明らかに、修正プログラムが動作しています。私はSparkストリームを開始でき、ノートブックの出力はレコードを収集することを示しています。

ただし、ダッシュボードではチャートが作成されず、処理済みのつぶやきは0件しか表示されません。アプリのログにエラーはありません。私は何かアドバイスをいただければ幸いです。

更新:これはベータ版ではないため、ノートブックのWatson Tone Analyzerの設定を変更してダッシュボードアプリケーションを実行するように管理しました。

config.setConfig("watson.tone.url","https://gateway.watsonplatform.net/tone-analyzer/api") 
関連する問題