2015-11-02 12 views
5

IntelliJでPysparkを使用しようとしていますが、正しくインストール/設定する方法がわかりません。私はIntelliJでPythonを扱うことができますが、私はpysparkシェルを使用できますが、IntelliJにSparkファイルの検索方法を伝えることはできません(import pysparkの結果は "ImportError:pysparkというモジュールなし")。IntelliJ IDEAでpysparkを作成して実行してください

IntelliJが動作するようにスパークのインクルード/インポート方法に関するヒントがあります。

ありがとうございました。

UPDATE:次のエラーメッセージと

from pyspark import SparkContext, SparkConf 
spark_conf = SparkConf().setAppName("scavenge some logs") 
spark_context = SparkContext(conf=spark_conf) 
address = "C:\test.txt" 
log = spark_context.textFile(address) 

my_result = log.filter(lambda x: 'foo' in x).saveAsTextFile('C:\my_result') 

:たとえば

Traceback (most recent call last): 
File "C:/Users/U546816/IdeaProjects/sparktestC/.idea/sparktestfile", line 2, in <module> 
spark_conf = SparkConf().setAppName("scavenge some logs") 
File "C:\Users\U546816\Documents\Spark\lib\spark-assembly-1.3.1-hadoop2.4.0.jar\pyspark\conf.py", line 97, in __init__ 
File "C:\Users\U546816\Documents\Spark\lib\spark-assembly-1.3.1-hadoop2.4.0.jar\pyspark\context.py", line 221, in _ensure_initialized 
File "C:\Users\U546816\Documents\Spark\lib\spark-assembly-1.3.1-hadoop2.4.0.jar\pyspark\java_gateway.py", line 35, in launch_gateway 

File "C:\Python27\lib\os.py", line 425, in __getitem__ 
return self.data[key.upper()] 
KeyError: 'SPARK_HOME' 

Process finished with exit code 1 

答えて

3

セットプログラムの実行/デバッグ 設定の(SPARK_HOMEおよびPYTHONPATHの)envパス。例えば

SPARK_HOME=/Users/<username>/javalibs/spark-1.5.0-bin-hadoop2.4/python/ 
PYTHON_PATH=/Users/<username>/javalibs/spark-1.5.0-bin-hadoop2.4/python/pyspark 

Run/Debug configuration for PySpark

+0

IntelliJのアイデアに付属のスナップショットを参照してください。変数は専制ファイアウォールの背後にあるこれらの私たちのために、PYTHONPATHとSPARK_HOMEです。 –

+0

そして、SPARK_HOMEには、bin、pythonなどを含むディレクトリまでのパスが含まれていて、pythonまでは含まれていないはずです。 –

1

、この種の何か:

from pyspark import SparkContext, SparkConf 
spark_conf = SparkConf().setAppName("scavenge some logs") 
spark_context = SparkContext(conf=spark_conf) 
address = "/path/to/the/log/on/hdfs/*.gz" 
log = spark_context.textFile(address) 

my_result = (log. 

...here go your actions and transformations... 

).saveAsTextFile('my_result') 
私は、コードのこの部分を試してみました

関連する問題