¿Cómo instalar el ambiente de Spark en tu sistema?
El mundo del big data y análisis de datos a gran escala es cada vez más relevante, y Spark se posiciona como una poderosa herramienta en este ámbito. Aquí te guiaré para que puedas instalar Spark en tu sistema, junto con otros componentes esenciales como Anaconda. Este proceso te permitirá contar con un ambiente listo para aprovechar al máximo Spark.
¿Qué software necesitas antes de instalar Spark?
Para instalar Spark, es necesario contar con los siguientes componentes básicos:
Java 8: Es esencial ya que Spark corre sobre la JVM (Java Virtual Machine).
Python 3: Utilizado para escribir scripts que se ejecutan en Spark.
Scala: Un lenguaje de programación utilizado internamente por Spark.
PIB3: Herramienta de gestión de paquetes de Python.
Para instalar Java 8, debes agregar el repositorio OpenJDK, actualizar los archivos de repositorios y finalmente instalar la versión adecuada:
Una vez que tienes todo lo anterior, procederás a descargar Spark desde su página oficial. Es importante elegir la versión con la que trabajarás, en este caso la 2.4.6. Spark puede ser configurado para funcionar con o sin Hadoop, y en este caso lo configuraremos para una instalación "stand alone":
Instala Anaconda ejecutando el script de instalación:
bash Anaconda3-2020.02-Linux-x86_64.sh
Durante la instalación, se te pedirá aceptar la licencia, lo cual se confirma escribiendo yes.
¿Cómo finalizar la configuración de tu ambiente Spark?
Finalmente, necesitas configurar Python para trabajar con Spark, instalando el módulo py4j que hace de puente entre Python y Spark. Puedes hacerlo desde el ambiente de Anaconda:
Con estos pasos, tu ambiente de Spark está listo. Aunque puede ser un proceso meticuloso, este entorno te capacitará para realizar tareas avanzadas en análisis de datos. No te preocupes si al principio parece complicado, cada paso es una parte esencial para tener operativo este potente software. ¡Ahora estás preparado para dar tus primeros pasos en el análisis de datos con Spark!
Creo que vale la pena mencionar que no se debe confundir la ruta /home/spark/ con ./spark. Cuando Óscar exporta la variable del sistema usa la ruta /home/spark porque spark es el nombre de usuario en el que está logueado, deben usar el nombre de usuario de cada uno. En mi caso el comando es el siguiente:
export PATH=/home/daniel/anaconda3/bin:$PATH
Gracias por el aporte. No lo había tenido en cuenta.
Muy útil, gracias!
Aquí pueden encontrar una guía de instalación para windows 10:
Muchas Gracias.
Esta fue la forma mas simple para mi
En la guía recomiendan instalae python 3.8, pero no es compatible con la version de Spark que recomiendan, se puede instalar python 3.7 y todo va sin problemas
con humildad les comparto mis apuntes sobre el curso, es buenísimo, y si le hacen fork dejen su Estrellita en el repo, devuelvan algo a la comunidad de platzi, y nunca paren de aprender.
Si por alguna razón les da un error en la instalación, actualicen pip.
Me sirvieron estos comandos:
--> pip install --upgrade setuptools
--> pip install wheel
Muchísimas gracias! Esperemos que Platzi lo formalice con una guía para Windows!
gigante!!
Por si alguien ocupa W10, para la instalación, hice lo siguiente:
Agregar variables de entorno
JAVA_HOME
SPARK_HOME
HADOOP_HOME
Nota: Las variables anteriares se deben agregar al path
%JAVA_HOME%\bin
%SPARK_HOME%\bin
%HADOOP_HOME%\bin
Desde una terminal podemos ejecutar spark-shell
confirmo los pasos!! 🙌🏼
Funcionan los pasos!
He perdido mucho tiempo tratando de instalar Spark en windows sería bueno una explicación y no tener que recurrir a otros lados para poder seguir con el curso de verdad se vuelve tedioso. No es el primer curso en el que me pasa esto.
Se debía aclarar, al menos en este punto, que la instalación del video sería en otro OS. Si consideramos tomar el curso en Platzi, es porque planeamos seguir cada una de las etapas y no buscar recursos en fuentes externas y buscar cómo enlazarlo con cada uno de los módulos. Tengo un macOS y un computador con Windows, sería de utilidad decir el porqué se trabaja en Linux o si es una práctica recomendada, al menos para quienes empezamos en este campo de acción.
Si quieren usar Google Colab:
# innstall java
!apt-get install openjdk-8-jdk-headless -qq >/dev/null# install spark(change the version number if needed)!wget -q https://archive.apache.org/dist/spark/spark-3.0.0/spark-3.0.0-bin-hadoop3.2.tgz
# unzip the spark file to the current folder
!tar xf spark-3.0.0-bin-hadoop3.2.tgz# set your spark folder to your system path environment.import os
os.environ["JAVA_HOME"]="/usr/lib/jvm/java-8-openjdk-amd64"os.environ["SPARK_HOME"]="/content/spark-3.0.0-bin-hadoop3.2"
# install findspark using pip
import findspark
findspark.init()from pyspark.sqlimportSparkSessionspark =SparkSession.builder.master("local[*]").getOrCreate()
Si desean pueden instalar docker y seguir las instrucciones de este enlace aqui
Muchas gracias por ese blog, quedó todo levantado en unos cuantos segundos!
Utilicé esta solución con pequeñas modificaciones y creo que de todas las opciones propuestas es la más sencilla. Lo único que no entiendo es lo de las limitaciones que mencionan en el post de medium.
Pasos para instalar en Windows
1.- Descargar SPARK y HADOOP: https://spark.apache.org/downloads.html
1.a.- Descomprimirlo en una carpeta, por ejemplo "D:\Apache\spark-3.1.2-bin-hadoop3.2"
2.- Descargar el binario para la version de HADOOP que se descargo: https://github.com/steveloughran/winutils
2.a.- Dentro de la carpeta de "spark-3.1.2-bin-hadoop3.2/bin" pegar el .exe
3.- Descargar JDK 8: https://www.oracle.com/java/technologies/downloads/#java8
3.a.- Instalar JDK
4.- Crear y modificar las variables de sistema. Para eso hay que apretar boton derecho en el boton de inicio, SISTEMA/Configuracion Avanzada del Sistema/Variable de entorno...
Ahi en "Variable de sistemas"
4.a.- HADOOP-HOME = D:\Apache\spark-3.1.2-bin-hadoop3.2
4.b.- SPARK_HOME = D:\Apache\spark-3.1.2-bin-hadoop3.2
4.c.- JAVA_HOME = C:\Program Files\Java\jdk1.8.0_301 (Esta es la ruta donde se haya instalado el JDK)
4.d.- Modificar la variable "Path" y agregar las siguiente sin las comillas: "%SPARK_HOME%\bin", "%HADOOP-HOME%\bin", "%JAVA_HOME%\bin"
5.- Reiniciar Windows
6.- Para probar si java quedo bien, abrir cmd y ejecutar: java -version
7.- Para iniciar el Master: spark-class org.apache.spark.deploy.master.Master
8.- Para inciar el slave o worker: spark-class org.apache.spark.deploy.worker.Worker spark://192.168.56.1:7077
9.- Si se quiere inicar el shell de spark: spark-shell
Gente les comparto la configuración de Spark y su interfaz gráfica usando Google Colab. Yo realizé el curso de esta manera ya que la instalación de mi máquina me genero problemas en los que preferí no gastar tiempo.
Exception: Java gateway process exited before sending its port number
Comprobado el 07-11-2020
Si usan alguna versión de ubuntu 20, con python3.8 e instalan la version de Spark 2.4, por ahi les da algun problema. (Me paso a mi)
Pero, Si usan la version 3 de Spark, no les da error. Al menos hasta ahora no he tenido problemas y llevo aprox 6 videos adelante.
Estoy en el proceso de instalacion. Cuentame, como que tipo de problemas habias tenido con la version 2.4 de spark?
En los videos posteriores notaras que si usas la version de python 3.8 , te saldran errores de compatibilidad porque spark no soporta esa version, y tendrias dos opciones , o hacer downgrade a python 3.7 o upgrade a spark 3
Vengo de solo un par de clases mas adelante, fue un sufrimiento poder instalar un entorno en una maquina real y virtual. Si lo logran felicidades, si tuvieron muchos problemas de camino, o bien usan un docker compose o actualmente Google Colab funciona muy bien no lo pienses y úsalo si sabes usarlo (seguramente si)
Si no, solo ve a Google Colab y puedes usar este código, solo pega esta parte en el primer bloque y ejecútalo:
#CURSOPYSPARK-PLATZI#Autor:GerardoRamos#Instalación#La mayoria de casos deja de funcionar o bien por el jdk o por el repo de spark, normalmente lo segundo,#verifica la version y el url solo escribelo bien
#https://spark.apache.org/downloads.html!apt-get install openjdk-11-jdk-headless -qq >/dev/null #Verifica aca
!wget -q https://dlcdn.apache.org/spark/spark-3.5.5/spark-3.5.5-bin-hadoop3.tgz #Verifica aca
!tar xf spark-3.5.5-bin-hadoop3.tgz #Verifica aca
!pip install -q findspark
!pip install pyspark
!pip install pyspark py4j
!pip install pyngrok
!pip install pyngrok requests
import os
os.environ["JAVA_HOME"]="/usr/lib/jvm/java-11-openjdk-amd64" #Verifica aca
os.environ["SPARK_HOME"]="/content/spark-3.5.5-bin-hadoop3" #Verifica aca
print("Instalacion inicial completada")#UsarDrive#Si no lo ocupas, solo comenta esta parte
from google.colabimport drive
drive.mount('/gdrive')%cd '/gdrive/My Drive/Platzi/Spark'#Crea previamente la carpeta en tu drive y descomenta el git clone siguiente, recuerda comentarlo,#ya que cuando reinicies el entorno se clonara el repo
#!git clone https://github.com/terranigmark/curso-apache-spark-platzi
#%cd '/gdrive/My Drive/Platzi/Spark'print("Conexión con Google Drive completada")#Cargamos e importamos para no tener problemas, si no lo deseas solo comentalo
import findspark
findspark.init()from pyspark importSparkContextfrom pyspark.sqlimportSparkSessionprint("Instalacion paquetes importados")#NGROK#Usaremos esto como tunel para poder visualizar SparkUI, ya que de no hacerlo nos reenviara a un local, ejemplo 34jkkd930:4040#como la idea es hacerlo 100% nube usaremos ngrok, realmente no tengo amplio conocimiento en esto pero esta es mi solucion y es gratis
#Dale una ojeada a la Clase8 donde uso esto para poder ver la UI sin problema
from pyngrok import ngrok
import requests
#Ingresa a ngrok, genera tu token, copialo y pegalo aca
#https://dashboard.ngrok.com/get-started/your-authtoken
ngrok.set_auth_token("TOKEN")print("Token NGROK configurado")``````js
#Clase8# IniciaSparkspark =SparkSession.builder.master("local[*]").config("spark.ui.port","4050").appName("sparkNgrok").getOrCreate()# Crea un DataFrame simple y ejecuta una acción
df = spark.createDataFrame([(1,"a"),(2,"b")],["id","letter"])df.show() # Esta acción iniciará un trabajo
# Crea un túnel para SparkUIpublic_url = ngrok.connect(addr="4050", proto="http")print("🔗 Accede a Spark UI aquí:", public_url)```Recuerden matar los procesos con Ej.spark.stop()
Alguien tiene un tutorial para instalar Spark en Windows 10?
Quisiera un tutorial para instalar Spark en Windows 10, porque los videos de YouTube no funcionan o no explican bien todos los pasos.
Hola, Juan
Aquí lo tienes.
Tuve dificultades para entender varias cosas de uso de Google Colab para Spark pero e encontrado una pagina espectacular que explica muchas cosas y me parece un excelente complemento a este curso porfavor véanla, la pagina es:
Yo lo instale en Windows, instalando primero WSL2 , una distro de Ubuntu y luego docker desktop.
Después de solucionar los problemas de WSL2, tipicos. En power shell inicie wsl, después de esto seguí el siguiente tutorial: https://www.youtube.com/watch?v=qQJnhLaAXKo&t=128s&ab_channel=JohannesFrey
Espero les sirva.
Hola a todos, no se si les ha salido este error ya para finalizar la clase. Me sale este error pero no pude solucionarlo: