【问题标题】:How to Setup SPARK_HOME variable?如何设置 SPARK_HOME 变量?
【发布时间】:2018-03-18 17:27:08
【问题描述】:

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

在终端中运行:

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

请为您的 Spark 安装设置 SPARK_HOME 变量

【问题讨论】:

    标签: apache-spark h2o sparkling-water


    【解决方案1】:

    在 Anaconda 中使用 Jupyter Notebook 时,调用来执行此操作的函数 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,也就是你安装它的目录。另外,我创建了一个 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)
    

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

    【讨论】:

      【解决方案2】:

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

      export SPARK_HOME="/path/to/spark"
      

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

      安装见https://www.tutorialspoint.com/apache_spark/apache_spark_installation.htm

      【讨论】:

        【解决方案3】:

        您必须在要使用苏打水的机器上下载 spark 运行时。它可以是本地下载,也可以是集群 Spark,即在 Hadoop 上。

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

        在以下设置SPARK_HOME中,我在本地机器上下载了Spark 2.1,路径设置为解压后的spark 2.1,如下:

        SPARK_HOME=/Users/avkashchauhan/tools/spark-2.1.0-bin-hadoop2.6
        
        $ pwd
         /Users/avkashchauhan/tools/sw2/sparkling-water-2.1.14
        

        现在,当我启动下面的 sparkling-shell 时,它可以正常工作:

        ~/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
        ----
        

        【讨论】:

        • 成功了。谢谢
        • @AvkashChauhan 我想将其设置为永久...即在下一个登录窗口中哪个会完好无损...我需要设置哪个 bash 文件?
        猜你喜欢
        • 1970-01-01
        • 2019-12-27
        • 2015-08-29
        • 2016-11-19
        • 1970-01-01
        • 2011-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多