web-dev-qa-db-fra.com

Comment configurer la variable SPARK_HOME?

En suivant les étapes de l'eau pétillante à partir du lien http://h2o-release.s3.amazonaws.com/sparkling-water/rel-2.2/0/index.html .

Fonctionnant dans le terminal:

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

Veuillez configurer la variable SPARK_HOME dans votre installation Spark

6
roshan_ray

Vous devez installer et définir la variable SPARK_HOME, dans le terminal unix, exécutez le code suivant pour définir la variable:

export SPARK_HOME="/path/to/spark"

Pour maintenir cette configuration, vous devez l'ajouter à la fin de votre .bashrc.

Voir ceci pour l'installation https://www.tutorialspoint.com/Apache_spark/Apache_spark_installation.htm

8
Jader Martins

Vous devrez télécharger le spark runtime sur la machine sur laquelle vous souhaitez utiliser Sparkling Water. Il peut s'agir d'un téléchargement local ou d'un cluster spark ie on Hadoop.

La variable SPARK_HOME est le répertoire/dossier où l'eau gazeuse trouvera le temps d'exécution spark.

Dans le paramètre suivant SPARK_HOME, j'ai Spark 2.1 téléchargé sur la machine locale et le chemin défini est le spark 2.1 comme ci-dessous):

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

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

Maintenant, lorsque je lance le shell pétillant comme ci-dessous, cela fonctionne bien:

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

Lors de l'utilisation de Jupyter Notebook avec Anaconda, la fonction appelée pour ce faire findpark.py effectue les opérations suivantes:

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

Nous allons donc suivre la procédure suivante.

1. Spécifiez SPARK_HOME et Java_HOME

Comme nous l'avons vu dans la fonction ci-dessus, pour Windows, nous devons spécifier les emplacements. La fonction suivante est une version légèrement modifiée de ces réponse . Il est modifié car il est également nécessaire de spécifier un Java_HOME , qui est le répertoire où vous l'avez installé. De plus, j'ai créé un répertoire spark où j'ai déplacé la version téléchargée de Spark que j'utilise, pour cette procédure, vous pouvez vérifier ces - lien .

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. Configurer SparkContext

Lorsque vous travaillez localement , vous devez configurer SparkContext de la manière suivante: (ces lien étaient utiles)

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)

Cette procédure a fonctionné Nice pour moi, merci !.

0