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.
Conociendo Apache Spark
Todo lo que aprenderás sobre Spark para Big Data
Introducción a Apache Spark
Introducción a los RDDs y DataFrames
Configuración
Instalación del ambiente de trabajo
Jupyter vs CLI: ejecución de Spark desde la línea de comandos
Jupyter vs CLI: ejecución de Spark en Jupyter Notebook
Operaciones RDDs
RDD y DataFrames
Transformaciones y acciones
Acciones de modificación sobre RDDs
Acciones de conteo sobre RDDs
Solución reto deportistas
Operaciones numéricas
Data Frames y SQL
Creación de DataFrames
Inferencia de tipos de datos
Operaciones sobre DF
Agrupaciones y operaciones join sobre DF
Solución reto joins
Funciones de agrupación
SQL
¿Qué es un UDF?
UDF
Persistencia y particionado
Particionado
Comprendiendo la persistencia y particionado
Particionando datos
Conclusiones
Conclusiones
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Óscar Gutiérrez Castillo
Aportes 52
Preguntas 13
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.
así de fácil amigos
![](
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
Por cada ❤️ : Es un voto para que Platzi pueda actualizar este curso tan necesario. Lo más rápido posible :3
Para complementar, este articulo explicando las diferencias entre context y Session en Spark:
https://blog.knoldus.com/spark-why-should-we-use-sparksession/
Si al momento de ejecutar les lanza el error ModuleNotFoundError: No module named ‘pyspark’
Antes de importar las librerias agreguen
import findspark
findspark.init()
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 utilizas wsl2 y no puedes visualizar la parte de Spark UI cambia el puerto hacia localhost 4041
Hola… Para poder instalar y ejecutar Spark en Colab utilicé éstos simples pasos que me sirvieron a la perfección para todo el curso:
PASO 1:
! sudo apt-get update
! sudo mkdir -p /usr/share/man/man1
! sudo apt-get install -y openjdk-11-jdk
! pip install pyspark
PASO 2:
from pyspark import SparkContext
from pyspark.sql import SparkSession
# LOS IMPORTS QUE REALICEMOS VARIAN SEGÚN EL AVANCE DE LAS CLASES
PASO 3: En mi caso al usar Colab tuve que traer los archivos desde mi Drive, en la que tuve que clonar el repsitorio de github, les dejo los comandos:
from google.colab import drive
drive.mount('/gdrive')
%cd '/gdrive/My Drive'
!git clone https://github.com/terranigmark/curso-apache-spark-platzi
%cd '/gdrive/My Drive/curso-apache-spark-platzi/files'
Espero les sirva como a mí 😃
INTERESANTE
Para los que usamos COLAB dejo actualizado y funcional al 9/03/2023: https://colab.research.google.com/drive/1RUswDmEiZaS1zdox9sbXvDUi1k0Yyese?usp=sharing
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.
Para los que estén batallando con la instalación de Apache Spark y quieren probar cómo funcionan los cluster de máquinas, les dejo mi repositorio de GitHub donde encontrarán todo lo necesario para montarse un cluster de Apache Spark usando Docker y docker-compose.
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
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.
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?
Abre un google collab y colocas las siguientes instrucciones:
#Instalación
!apt-get install openjdk-11-jdk-headless -qq > /dev/null
!wget -q http://archive.apache.org/dist/spark/spark-3.0.1/spark-3.0.1-bin-hadoop3.2.tgz
!tar xf spark-3.0.1-bin-hadoop3.2.tgz
!pip install -q findspark
import os
os.environ["JAVA_HOME"] = "/usr/lib/jvm/java-11-openjdk-amd64"
os.environ["SPARK_HOME"] = "/content/spark-3.0.1-bin-hadoop3.2"
spark = SparkSession.builder.master("local[*]").appName("MiPrimerSesion").getOrCreate()
sc = SparkContext.getOrCreate()
Y listo, evitas consumir recursos de tu propia máquina
Les comparto una manera sencilla de trabajar con spark sin necesidad de instalaciones complejas, yo uso un docker container para trabajar con este, adicionalmente le agregué una configuración para trabajar con Dev Container de VSCode.
Pueden usarlo como referencia para aquellos que tienen Windows, además para facilitar el desarrollo.
Creo que en cuanto a cursos, este es uno de los menos fáciles de seguir, en instalación y explicación, podrían actualizar este curso y con el ambiente tanto para W11 como para MAC, lamentablemente una mala experiencia tratando de seguirle el ritmo.
no se hasta el momento pero uso windows
pip install pyspark
obviamente activado el entorno
y ya, me está funcionando en visual estudio
neta que este curso esta pesimo
no me esta sirviendo nada y eso que se instalar y resolver problemas en terminal
A mi me funciono instalar todo en WSL desde windows, siguiendo los pasos de este articulo de medium: https://medium.com/mlearning-ai/single-node-spark-pyspark-cluster-on-windows-subsystem-for-linux-wsl2-22860888a98d
Este curso ya está bastante desactualizado y la instalación resulta caótica. En Abril 2023 me resultó mas sencillo trabajar con un contenedor de Docker con todas las librerías y dependencias instaladas.
https://jupyter-docker-stacks.readthedocs.io/en/latest/index.html
Diferencia entre contexto y sesion en Spark
La principal diferencia entre el contexto de Spark y la sesión de Spark es el tipo de datos que manejan y las operaciones que se pueden realizar con ellos.
para los compañeros que están trabajando desde wsl.
Hay que crear un alias para iniciar jupyter sin navegador.
Abrir su configuración de bash:
<```
nano .bashrc
Agregue al final del archivo
<```
alias jupyter-notebook="~/.local/bin/jupyter-notebook --no-browser"
```>
guardar y salir con ctrl +x luego "y" después intro
actualizar con <```
source ~/.bashrc
```>
ahora con el alias creado se ejecuta la siguiente linea, <jupyter notebook --no-browser>
si tienen problemas con instalaciones en Windows o Mac o no desean trabajar en local una buena opción además de las que mencionan los compañeros puede ser Databricks Community Edition, te permite trabajar con python o scala
I really recommend docker, this video shows how to configure Jupyter and spark.
Me va bien en google colaboratory
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.
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 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.
edu@LAPTOP-U8VOQL2R:~/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.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?