在windows和pycharm中设置SPARK-HOMEpathvariables

我是新来的SPARK,并试图在Windows中使用它。 我能够使用hadoop的预生成版本成功下载和安装Spark 1.4.1。 在以下目录中:

/my/spark/directory/bin 

我可以运行spark-shell和pyspark.cmd,一切正常。 我正在处理的唯一问题是,我想在Pycharm编码时导入pyspark。 现在我正在使用下面的代码来使事情工作:

 import sys import os from operator import add os.environ['SPARK_HOME'] = "C:\spark-1.4.1-bin-hadoop2.6" sys.path.append("C:\spark-1.4.1-bin-hadoop2.6/python") sys.path.append("C:\spark-1.4.1-bin-hadoop2.6/python/build") try: from pyspark import SparkContext from pyspark import SparkConf except ImportError as e: print ("Error importing Spark Modules", e) sys.exit(1) 

我想知道是否有一个更简单的方法来做到这一点。 我正在使用Windows 8 – Python 3.4和Spark 1.4.1

Solutions Collecting From Web of "在windows和pycharm中设置SPARK-HOMEpathvariables"

这是我找到的最简单的方法。 我通常使用如下的函数来减少重复性。

 def configure_spark(spark_home=None, pyspark_python=None): spark_home = spark_home or "/path/to/default/spark/home" os.environ['SPARK_HOME'] = spark_home # Add the PySpark directories to the Python path: sys.path.insert(1, os.path.join(spark_home, 'python')) sys.path.insert(1, os.path.join(spark_home, 'python', 'pyspark')) sys.path.insert(1, os.path.join(spark_home, 'python', 'build')) # If PySpark isn't specified, use currently running Python binary: pyspark_python = pyspark_python or sys.executable os.environ['PYSPARK_PYTHON'] = pyspark_python 

然后,您可以在导入pyspark之前调用该函数:

 configure_spark('/path/to/spark/home') from pyspark import SparkContext