2015-11-02 223 views
5

我正尝试在IntelliJ中使用Pyspark,但我无法弄清楚如何正确安装它/设置项目。我可以在IntelliJ中使用Python,我可以使用pyspark shell,但是我不能告诉IntelliJ如何找到Spark文件(导入pyspark结果到“ImportError:No module named pyspark”)。在IntelliJ IDEA中编写并运行pyspark

有关如何包含/导入spark的任何tipps,以便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_HOMEPYTHONPATH)的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 

见IntelliJ IDEA的附加快照

Run/Debug configuration for PySpark

+0

的变量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')