2017-03-28 22 views
0

私はEclipseをSparkとPythonで開発するために設定しました。 私が設定したもの: 1. Pythonインタープリタを持つPyDev 2. Spark Pythonソースを持つPyDev 3. Spark Environment変数を持つPyDev。Eclipse(PyDev)のpy4j.protocolというモジュールがありません

これは私のライブラリの設定です:

enter image description here

そして、これが私の環境設定です:

enter image description here

私はCompensationStudyという名前のプロジェクトを作成し、私は小さな例を実行すると、すべてが円滑に進むようにしてください。

enter image description here

これは私のコードです:

from pyspark import SparkConf, SparkContext 
import os 

sparkConf = SparkConf().setAppName("WordCounts").setMaster("local") 
sc = SparkContext(conf = sparkConf) 


textFile = sc.textFile(os.environ["SPARK_HOME"] + "/README.md") 
wordCounts = textFile.flatMap(lambda line: line.split()).map(lambda word: (word, 1)).reduceByKey(lambda a, b: a+b) 
for wc in wordCounts.collect(): print wc 

しかし、私はこのエラーを得た:はImportError:いいえモジュールの名前py4j.protocol

Logicly、PySparkのライブラリの依存関係のすべてを含むのPy4Jは、Spark PythonソースでPyDevを設定すると自動的にインポートされます。ここで何が問題なのですか?私のlog4j.propertiesファイルに問題はありますか? お願いします!

答えて

0

コマンドラインから実行できますか?私は最初のステップはIDEを質問から外していると思うので、コマンドラインで適切な環境変数を使ってすべてを実行しようとすると(おそらくpysparkコミュニティに助けを求める)、実行した後、env実行時にコマンドラインで実行する変数(env変数を実行するプログラムを作成し、コンソールで実行してからIDEで実行して差分を確認してください)。 (おそらくまだ問題ではありませんが...)

ワンノート:あなたのスクリーンショットから、それは(あなたのプロジェクト構成が/CompensationStudyあなたは/CompensationStudy/srcであなたのコードを入れているように見える、PYTHONPATHに追加し、まだいるようですプロジェクト設定を編集して/CompensationStudy/srcをPYTHONPATHに入れるだけです)。

0

同じようなエラーがありました。 py4jをインストールした後

、エラー

sudo pip install py4j 
ことなく実行することができます
関連する問題