#apache-spark #environment-variables #macos-mojave
#apache-spark #переменные среды #macos-mojave
Вопрос:
Я пытался запустить spark-shell из терминала на macOS с помощью ./Documents/spark/spark-3.0.0-bin-hadoop2.7/bin/spark-shell
, и он начал работать, но я хотел запустить его, используя только spark-shell
.
Я видел 4-минутное видео, в котором показано, как это делается, но у меня это не работает.
Я не совсем понимаю, как ~/.bash_profile
работает, но ниже показано, как это выглядит:
# added by Anaconda3 5.3.1 installer
# >>> conda init >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$(CONDA_REPORT_ERRORS=false '/Users/ajay/anaconda3/bin/conda' shell.bash hook 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/ajay/anaconda3/etc/profile.d/conda.sh" ]; then
. "/Users/ajay/anaconda3/etc/profile.d/conda.sh"
CONDA_CHANGEPS1=false conda activate base
else
export PATH="/Users/ajay/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda init <<<
export SPARK_HOME=/Users/ajay/Documents/spark/spark-3.0.0-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
PATH="/usr/local/bin:/Users/ajay/anaconda3/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
$PATH дает /usr/local/bin:/Users/ajay/anaconda3/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Как мне нужно изменить ~/.bash_profile
для spark-shell
работы?
Редактировать
Вот сообщение, которое я получаю при запуске ./Documents/spark/spark-3.0.0-bin-hadoop2.7/bin/spark-shell
20/08/27 16:51:16 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Spark context Web UI available at http://192.168.0.2:4040
Spark context available as 'sc' (master = local[*], app id = local-1598527288778).
Spark session available as 'spark'.
При запуске spark-shell
он показывает : -bash: spark-shell: command not found
Комментарии:
1. Вы пробовали запускать
spark-shell
в консоли? Сработало ли это? Что было сообщением об ошибке?2. @thsutton В правках
3. ~/.bash_profile доступен только для чтения при входе в систему…
Ответ №1:
export PATH=$PATH:$SPARK_HOME/bin
PATH="/usr/local/bin:/Users/ajay/anaconda3/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
Эти две строки расположены в неправильном порядке, поскольку вы «добавляете» установку spark в $PATH
, а затем немедленно перезаписываете $PATH
.
Возможно, вы предпочтете иметь что-то вроде:
export PATH="$SPARK_HOME/bin:/Users/ajay/anaconda3/bin:/usr/local/bin:$PATH"
Не забывайте, что любые изменения в .bash_profile
, .profile
, .bashrc
вступят в силу только в новой оболочке (если вы не загрузите их вручную).
Комментарии:
1. Итак, 2 строки экспорта должны быть после
PATH="/usr/local/bin:/Users/ajay/anaconda3/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
строки?2. Нет необходимости иметь несколько строк; у вас может быть просто одна строка, которая выполняет `export PATH=»new:things:followed:by:$PATH