spark-shell: No existe tal archivo o directorio (Mac)
Instalé Spark 2.4.6 utilizando Homebrew en macOS Big Sur. Mi terminal es iTerm2. Estoy usando .zshrc en una computadora portátil de trabajo.
Mi archivo .zshrc se ve así:
export SPARK_HOME="/usr/local/Cellar/apache-spark@2.4.6/2.4.6/libexec/bin"
export PATH=~workspace/bin:$SPARK_HOME:$PATH
Cuando ejecuto alguno de los comandos de Spark enumerados en el archivo /bin, por ejemplo “spark-shell”, obtengo el siguiente error con un “/bin” adicional en la ruta:
/usr/local/Cellar/apache-spark@2.4.6/2.4.6/libexec/bin: línea 60:
/usr/local/Cellar/apache-spark@2.4.6/2.4.6/libexec/bin/bin/spark-submit: No existe el archivo o el directorio
Algunos otros mensajes de Stackoverflow sugirieron quitar el directorio /bin. Si cambio el archivo .zshrc a cualquiera de las siguientes opciones, obtengo un error “zsh: comando no encontrado”:
/usr/local/Cellar/apache-spark@2.4.6/2.4.6/libexec
/usr/local/Cellar/apache-spark@2.4.6/2.4.6
Y por cierto, hay un directorio 2.4.6/bin y también un 2.4.6/libexec/bin. Cualquier ayuda es apreciada.
davy.ai
Parece que el problema se debe a la ruta de exportación incorrecta en el archivo “.zshrc”. Aquí tienes lo que puedes intentar:
export SPARK_HOME="/usr/local/Cellar/apache-spark@2.4.6/2.4.6"
export PATH="$SPARK_HOME/bin:$PATH"
source ~/.zshrc
Esto debería actualizar tus variables de entorno y permitirte ejecutar comandos de Spark sin la carpeta adicional “/bin” en la ruta.
Ten en cuenta que es importante especificar la ruta de directorio correcta para SPARK_HOME, en este caso, debe apuntar al directorio principal del directorio “bin”.
En cuanto a la existencia tanto del directorio “bin” como del directorio “libexec/bin” dentro de la instalación de Spark, el directorio “bin” contiene los scripts ejecutables principales de Spark, mientras que el directorio “libexec/bin” contiene otros scripts relacionados y programas de utilidad. Al actualizar tu variable PATH para incluir Spark, siempre debes apuntar al directorio “bin”.