Как настроить переменную SPARK_HOME?
Следуя инструкциям Sparkling Water по ссылке 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_HOME для вашей установки Spark
2 ответа
Вы должны установить и установить переменную SPARK_HOME, в терминале Unix запустите следующий код для установки переменной:
export SPARK_HOME="/path/to/spark"
Чтобы сохранить этот конфиг, вы должны добавить это в конец вашего.bashrc.
Смотрите это для установки https://www.tutorialspoint.com/apache_spark/apache_spark_installation.htm
При использовании 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 нам нужно указать местоположения. Следующая функция - это немного измененная версия этого ответа. Он изменен, потому что также необходимо указать JAVA_HOME, то есть каталог, в который вы его установили. Кроме того, я создал каталог Spark, куда я переместил загруженную версию Spark, которую я использую, для этой процедуры вы можете проверить эту ссылку.
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 следующим образом: (эта ссылка была полезна)
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)
Эта процедура мне понравилась, спасибо!.
Вам нужно будет загрузить среду зажигания на машину, где вы хотите использовать газированную воду. Это может быть либо локальная загрузка, либо кластерная искра, т.е. на 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
Теперь, когда я запускаю 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
----