Apache Spark: Cómo usar pyspark con Python 3

91

Construí Spark 1.4 a partir del maestro de desarrollo de GH y la compilación salió bien. Pero cuando lo hago bin/pyspark, obtengo la versión Python 2.7.9. ¿Cómo puedo cambiar esto?

tchakravarty
fuente
7
Para cualquiera que busque cómo hacer esto:, PYSPARK_DRIVER_PYTHON=ipython3 PYSPARK_DRIVER_PYTHON_OPTS="notebook" ./bin/pysparken cuyo caso ejecuta el portátil IPython 3.
tchakravarty

Respuestas:

142

Simplemente configure la variable de entorno:

export PYSPARK_PYTHON=python3

en caso de que desee que esto sea un cambio permanente, agregue esta línea al script pyspark.

Rtik88
fuente
Las variables de entorno se pueden editar en / etc / profile. No olvide ejecutar "source / etc / profile" después de guardar el perfil, para que los cambios se puedan aplicar inmediatamente.
Phyticist
1
Obviamente, use export PYSPARK_PYTHON=python3.5para Python 3.5
Phyticist
4
Es mejor añadir esto a $SPARK_HOME/conf/spark-env.shlo que spark-submitusa el mismo intérprete también.
flow2k
@ flow2k esa es una mejor idea. Tnx
mohammad RaoofNia
32
PYSPARK_PYTHON=python3 
./bin/pyspark

Si desea ejecutar en IPython Notebook, escriba:

PYSPARK_PYTHON=python3 
PYSPARK_DRIVER_PYTHON=ipython 
PYSPARK_DRIVER_PYTHON_OPTS="notebook" 
./bin/pyspark

Si python3no es accesible, debe pasarle la ruta en su lugar.

Tenga en cuenta que la documentación actual (a partir de 1.4.1) tiene instrucciones desactualizadas. Afortunadamente, ha sido parcheado .

Piotr Migdal
fuente
1
Creo que su comando para el IPython Notebook no es correcto. Debería ser así: PYSPARK_PYTHON = python3 PYSPARK_DRIVER_PYTHON = ipython3 PYSPARK_DRIVER_PYTHON_OPTS = "notebook" ./bin/pyspark
SpiderRico
@ChrisNielsen En la terminal.
Piotr Migdal
@ChrisNielsen En Linux u OS X es una terminal / consola. No tengo idea de cómo funciona en Windows (cuando estaba en Windows, usé Spark solo en un contenedor Docker).
Piotr Migdal
@SpiderRico Parece que no funcionan en mi Mac. Para que Jupyter Notebook funcione para Spark, use lo siguiente. PYSPARK_PYTHON = python3 PYSPARK_DRIVER_PYTHON = jupyter PYSPARK_DRIVER_PYTHON_OPTS = "notebook" ./bin/pyspark
Hank Chan
9

1, editar perfil:vim ~/.profile

2, agregue el código en el archivo: export PYSPARK_PYTHON=python3

3, ejecute el comando: source ~/.profile

4, ./bin/pyspark

Yangh
fuente
4

Eche un vistazo al archivo. La línea shebang probablemente apunta al binario 'env' que busca en la ruta el primer ejecutable compatible.

Puede cambiar python a python3. Cambie el env para usar directamente el binario python3 codificado. O ejecute el binario directamente con python3 y omita la línea shebang.

rfkortekaas
fuente
1
Sí, buscar en el archivo ayudó. Necesario para establecer la PYSPARK_PYTHONvariable de entorno.
tchakravarty
4

Para Jupyter Notebook, edite el spark-env.sharchivo como se muestra a continuación desde la línea de comando

$ vi $SPARK_HOME/conf/spark-env.sh

Vaya al final del archivo y copie y pegue estas líneas

export PYSPARK_PYTHON=python3
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS="notebook"

Luego, simplemente ejecute el siguiente comando para iniciar pyspark en el cuaderno

$ pyspark
oya163
fuente