2015-11-02 18 views
5

Próbuję pracować z Pyspark w IntelliJ, ale nie mogę się dowiedzieć, jak poprawnie zainstalować/skonfigurować projekt. Mogę pracować z Pythonem w IntelliJ i mogę używać powłoki Pyspark, ale nie mogę powiedzieć IntelliJ, jak znaleźć pliki Spark (import pyspark powoduje "ImportError: Brak modułu o nazwie pyspark").Napisz i uruchom pyspark w IntelliJ IDEA

Dowolne wskazówki, jak włączyć/zaimportować iskrę, aby IntelliJ mógł z nią pracować, są mile widziane.

Dzięki.

UPDATE:

Próbowałem ten kawałek kodu:

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') 

z następujących komunikatów o błędach:

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 

Odpowiedz

3

Zestaw ścieżka env dla (SPARK_HOME i PYTHONPATH) w konfiguracji programu uruchom/debug .

Na przykład:

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 

Zobacz załączony zrzut w IntelliJ Idea

Run/Debug configuration for PySpark

+0

Zmienne są PYTHONPATH i SPARK_HOME, dla tych z nas, za tyranii zapory. –

+0

A SPARK_HOME powinien zawierać ścieżkę do katalogu zawierającego bin, python itp., A nie do pythona. –

1

na przykład, coś tego typu:

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')