es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.

Tags:  , , ,

Answer

  1. Avatar for 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:

    1. Abre tu archivo “.zshrc” y cambia la ruta de exportación a lo siguiente:

    export SPARK_HOME="/usr/local/Cellar/apache-spark@2.4.6/2.4.6"
    export PATH="$SPARK_HOME/bin:$PATH"

    1. Guarda los cambios y ejecuta el siguiente comando para recargar tu archivo “.zshrc”:

    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”.

Comments are closed.