2016-05-01 21 views
0

HDFSディレクトリを追跡する単純なspark streamingジョブがあり、新しく追加されたファイルを読み込んでKafkaに送信します。スパークストリーミングジョブでkafkaProducerをインポートできません

スパークジョブを送信するときに機能しないため、次の例外がスローされます。ここ

ImportError: cannot import name KafkaProducer

ジョブのコードは、エラーがクリアされている(http://pastebin.com/mpKkMkph

あります。スクリプトはkafkaProducerをインポートできません。問題は、python shellから問題なくインポートできることです。

+0

カフカプロデューサーのコードスニペットを提供できますか?それは問題をデバッグするのに役立ちます! – avr

+0

あなたのインポートステートメントを 'from kafka import KafkaProducer'から' import kafka' **に変更するか、KafkaProducer初期化文からkafkaへの参照を削除することができます。つまり、最終的なステートメントは 'producer = KafkaProducer(bootstrap_servers =" Broker_list ") '。これを願ってあなたの依存問題を解決してください! – avr

+0

私は 'import kafka'をインポートしていますが、このエラーがあります。' AttributeError: 'module'オブジェクトには属性 'KafkaProducer'がありません。私は、プロデューサ初期化ステートメントでカフカを削除しようとしましたが、同じエラーがまだ存在します。 – Fanooos

答えて

0

最後に私は問題を解決することができましたが、解決策は非常に奇妙で、何が起こったのかについては何の説明もありません。

私はこのコマンドを実行しますcat my_script.py > new_script.py私は新しいファイルを使用してジョブを提出しました。

すべてのことがうまくいきましたが、上記のように私はこの問題については何も説明していません。

ここで注意しなければならないもう1つのことは、通常のcpコマンドを使用してファイルをコピーしても機能しませんでした。他のファイルへの内容はcatのみです。

私がこの問題をPythonスクリプトで直面するのは2度目ですが、誰もがそれをイラスト化してくれることを願っています。

関連する問題