No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Jupyter vs CLI: ejecución de Spark en Jupyter Notebook

6/25
Recursos

Aportes 32

Preguntas 11

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Deberían incluir un paso a paso para la instalación en Windows. Aunque sea incluir varios pantallazos. Es difícil seguir el curso de esta manera.

A mi parecer creo que falta un video explicando paso a paso la instalacion de Spark/Hadoop en Windows, se hace muy complicado entender el paso a paso de linux a windows

Para quienes no quieran instalar en sus computadores, pueden usar Colab de Google, aquí dejo la configuración inicial necesaria:

https://colab.research.google.com/drive/1BZ4sYe2UYX8NhKvo1vCg58R-ApjV8pBc?usp=sharing

Slds
Diego

Para los que no quieren realizar la instalación, pueden usar docker para lanzar notebook

docker run -it --rm -p 8888:8888 -p 4040-4050:4040-4050 -v ./file:/home/jovyan/work jupyter/pyspark-notebook

el .file la ruta donde van a guardar los notebooks, y para entrar al notebook cuando corren el comando de docker les aparece la Url que empieza con 127.0.0.1 es copiar y pegar.

Hasta aquí a sido duro para el usuario Windows y me imagino de Mac, recomendaría realizar los tutoriales para estos usuarios. Si bien linux es lo ideal, por la situación que sea hay muchos usuarios de windows y mac.

Gracias a los compañeros por sus aportes en lo referente a esta parte

Actualización, para correr Spark en Colab lo pueden hacer con el siguiente enlace, el cuál está actualizado a Julio 2021 ya que los anteriores comentarios ya no son válidos:

https://colab.research.google.com/drive/1fRCVu8nBmpgd8S7Agglif-VDIOleFSz0?usp=sharing

Si al momento de ejecutar les lanza el error ModuleNotFoundError: No module named ‘pyspark’

Antes de importar las librerias agreguen
import findspark
findspark.init()

Para complementar, este articulo explicando las diferencias entre context y Session en Spark:

https://blog.knoldus.com/spark-why-should-we-use-sparksession/

INTERESANTE

Hola para quienes tengan problemas con anaconda solo hace falta crear un env con python3.7 e instanciarlo con la direccion de envs dentro de la carpeta de anaconda

La instalación en MacOs es tan fácil como en Linux, si alguien tiene duda acá les dejo dos links de Medium, uno usando el .tgz y otro usando Homebrew, respectivamente:

Yo solo cree un entorno virutal de python.
Instale PYSPARK y las librerias mas comunes.
Y todo se ejecuta a la perfeccion.

python3 -m venv vnv
source vnv/bin/activate
pip install pyspark
pip install pandas
pip install numpy

Todo sobre ubuntu.

Me resulto mucho más simple la implementación de spark en google colaboratory, si alguien quisiera verlo, les dejo el link

https://colab.research.google.com/drive/1u6lcbdfGn4RCnQEM6QwaThZhj_Ee1rMp?usp=sharing

Si tienen el error ModuleNotFound en from pyspark import SparkContext, solo abran otra terminal y descarguen por via pip de python esa librería, quedando asi su comando para instalar de la siguiente manera:

pip install pyspark

Despues de instalarlo, apaguen anaconda, cierren terminales y vuelvan a iniciar Anaconda con su terminal y ya no debe de haber ningun problema.

Saludos!

Comparto el siguiente tutorial para la instalación de spark y su funcionamiento con Jupyter (https://youtu.be/Rv4NOAn2m-g)

Nota: Es importante manejar los ambientes virtuales de Anaconda para que funcionen las librerías e instancias de Python con Spark. La versión soportada de Python para Spark 2.4.6 debe ser 3.7.

Hay algún problema de al momento de ejecutar si se crean los 2, tanto la session como el contexto? o por la version de spark solo creo la session?

Si utilizas wsl2 y no puedes visualizar la parte de Spark UI cambia el puerto hacia localhost 4041

Para quienes no quieran instalar en sus computadores, pueden usar Deepnote:
https://docs.deepnote.com/integrations/spark
Si se registran podrían usar mi link de referidos por favor
https://deepnote.com/referral?token=480a671e

Para los amantes de docker, corren todo con este comando

docker run --rm -d  --name notebook --net host  jupyter/all-spark-notebook

docker run -it --rm -p 8888:8888 jupyter/pyspark-notebook

Bastante talacha el estar intentando crear el ambiente para continuar con el curso, tuve que ocupar otra computadora pues la primera no tenía ya espacio y me generaba muchos errores. Al final termine ocupando una maquina virtual con ubuntu

Acá como usar todo esto en una terminal Unix dentro de Windows, ya que usar todo esto en Windows directamente es muy complicado en sus instalaciones y configuraciones:
https://www.youtube.com/watch?v=QiPEKsTBJt4&t=23s

Cuando corrí los dos módulos me muestra error ModuleNotFoundError

Para los que usan Windows pueden instalar WSL2, a la fecha, toda la configuración funciona a como se explica en las últimas 3 clases.

https://platzi.com/clases/prework-windows/

cuando te das cuenta de que toda tu configuracion fallo por que se instalo con el java que le canto jajaja

Por fin pude instalar pyspark en Windows 10 y ejecutar correctamente las dos primeras lineas del codigo. 😃

Si están usando WSL2 y les sale un error
** py4j.protocol.Py4JError: org.apache.spark.api.python.PythonUtils.getEncryptionEnabled does not exist in the JVM**
Deben agregar

export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.9-src.zip:$PYTHONPATH

en el .bashrc. Pero pues dependiendo de la versión de py4j que hayan instalado.

Si al ejecutar la primera línea les sale un error ModuleNotFoundError: No module named ‘pyspark’, abran el Anaconda Prompt (si instalaste Anaconda lo deberías tener) y ejecuten lo siguiente:
conda install pyspark
En el camino les pedirán confirmar un detalle, le dan ‘y’
¡Listo!

Estoy perdido en las configuraciones, se me ha hecho muy complicado en Linux, y mucho mas en Windows

Gente me sale el siguiente error: Java gateway process exited before sending its port number. Ya he buscado en línea pero no encuentro solución. Estoy usando spark en windows 10 y ya he verificado que la versión de Java es la correcta.

Estimados,

Tengo el siguiente problema ¿A alguno ya le ha pasado y lo ha resuelto?

PD: Las rutas comentadas las tuve que colocar como (rutacomentada) por que me bloquea el comentario platzi por rutas no seguras.

[email protected]:~/curso-apache-spark-platzi$ jupyter notebook
[I 18:39:51.590 NotebookApp] JupyterLab extension loaded from /home/edu/anaconda3/lib/python3.7/site-packages/jupyterlab
[I 18:39:51.591 NotebookApp] JupyterLab application directory is /home/edu/anaconda3/share/jupyter/lab
[I 18:39:51.598 NotebookApp] Serving notebooks from local directory: /home/edu/curso-apache-spark-platzi
[I 18:39:51.598 NotebookApp] Jupyter Notebook 6.1.4 is running at:
[I 18:39:51.599 NotebookApp] (rutacomentada)/?token=3c1d2c6b280f08dccfb1b8a8bba11a8698d90b6bbd7aba4f
[I 18:39:51.601 NotebookApp]  or (rutacomentada)?token=3c1d2c6b280f08dccfb1b8a8bba11a8698d90b6bbd7aba4f
[I 18:39:51.602 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 18:39:51.620 NotebookApp]

    To access the notebook, open this file in a browser:
        file:///home/edu/.local/share/jupyter/runtime/nbserver-29556-open.html
    Or copy and paste one of these URLs:
        (rutacomentada)?token=3c1d2c6b280f08dccfb1b8a8bba11a8698d90b6bbd7aba4f
     or (rutacomentada)?token=3c1d2c6b280f08dccfb1b8a8bba11a8698d90b6bbd7aba4f
Start : Este comando no se puede ejecutar debido al error: El sistema no puede encontrar el archivo especificado.
En línea: 1 Carácter: 1
+ Start "file:///home/edu/.local/share/jupyter/runtime/nbserver-29556-o ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Start-Process], InvalidOperationException
    + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand```

Muchas gracias.