如何设置SPARK_HOME变量?

时间:2017-10-06 20:42:53

标签: apache-spark h2o sparkling-water

按照http://h2o-release.s3.amazonaws.com/sparkling-water/rel-2.2/0/index.html链接中的Sparkling Water步骤。

在终端中运行:

〜/ InstallFile / SparklingWater / sparkling-water-2.2.0 $ bin / sparkling-shell --conf" spark.executor.memory = 1g"

  

请将SPARK_HOME变量设置为Spark安装

3 个答案:

答案 0 :(得分:6)

你应该安装并设置SPARK_HOME变量,在unix终端运行以下代码来设置变量:

export SPARK_HOME="/path/to/spark"

要维护此配置,您应将其附加到.bashrc的末尾。

请参阅此安装https://www.tutorialspoint.com/apache_spark/apache_spark_installation.htm

答案 1 :(得分:1)

您必须在要使用Sparkling Water的机器上下载spark运行时。它可以是本地下载,也可以是群集火花,即在Hadoop上。

SPARK_HOME变量是目录/文件夹,其中苏打水将找到火花运行时间。

在以下设置SPARK_HOME中,我在本地机器上下载了Spark 2.1,路径设置是解压缩的火花2.1,如下所示:

SPARK_HOME=/Users/avkashchauhan/tools/spark-2.1.0-bin-hadoop2.6

$ pwd
 /Users/avkashchauhan/tools/sw2/sparkling-water-2.1.14

现在,当我按照下面的方式启动闪闪发光的外壳时,它可以正常工作:

~/tools/sw2/sparkling-water-2.1.14 $ bin/sparkling-shell                                                                                                                                                                                        

-----
  Spark master (MASTER)     : local[*]
  Spark home   (SPARK_HOME) : /Users/avkashchauhan/tools/spark-2.1.0-bin-hadoop2.6
  H2O build version         : 3.14.0.2 (weierstrass)
  Spark build version       : 2.1.1
  Scala version             : 2.11
----

答案 2 :(得分:0)

在将Jupyter Notebook与Anaconda结合使用时,用来执行此操作的函数 findspark.py 执行以下操作:

def find():
    spark_home = os.environ.get('SPARK_HOME', None)

    if not spark_home:
        for path in [
            '/usr/local/opt/apache-spark/libexec', # OS X Homebrew
            '/usr/lib/spark/' # AWS Amazon EMR
            # Any other common places to look?
        ]:
            if os.path.exists(path):
                spark_home = path
                break

    if not spark_home:
        raise ValueError("Couldn't find Spark, make sure SPARK_HOME env is set"
                         " or Spark is in an expected location (e.g. from homebrew installation).")

    return spark_home

因此,我们将遵循下一个步骤。

1。指定SPARK_HOME和JAVA_HOME

正如我们在上面的功能中看到的那样,对于Windows,我们需要指定位置。下一个功能是对这些answer的稍作修改的版本。进行了修改是因为还必须指定JAVA_HOME ,JAVA_HOME是您安装它的目录。另外,我还创建了一个spark目录,在其中移动了我正在使用的下载版本的Spark,对于此过程,您可以检出这些link

import os 
import sys

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
    os.environ['JAVA_HOME'] = 'C:\Program Files\Java\jre1.8.0_231'

    # 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

configure_spark('C:\spark\spark-2.4.4-bin-hadoop2.6')

2。配置SparkContext

在本地工作时,您应采用以下方式配置SparkContext :(这些link很有用)

import findspark
from pyspark.conf import SparkConf
from pyspark.context import SparkContext

# Find Spark Locally
location = findspark.find()
findspark.init(location, edit_rc=True)

# Start a SparkContext 
configure = SparkConf().set('spark.driver.host','127.0.0.1')
sc = pyspark.SparkContext(master = 'local', appName='desiredName', conf=configure)

这个过程对我来说很好,谢谢!。