Apache Spark

Instalar Apache Spark en Google Colaboratory

7 min lectura José Miguel

Apache Spark es uno de los frameworks de procesamiento de datos más utilizados en el mundo del Big Data. Sin embargo, configurar un entorno local de Spark puede ser complicado, especialmente para quienes están dando sus primeros pasos. La buena noticia es que Google Colaboratory nos permite ejecutar Spark directamente desde el navegador, sin necesidad de instalar nada en nuestro equipo.

En este tutorial aprenderás paso a paso cómo instalar y configurar Apache Spark en Google Colab para que puedas empezar a practicar con PySpark de forma gratuita.

Requisitos previos

Antes de comenzar, solo necesitas lo siguiente:

  • Una cuenta de Google (Gmail).
  • Un navegador web actualizado (Chrome, Firefox, Edge, etc.).
  • Conocimientos básicos de Python.

No necesitas instalar ningún software adicional en tu computadora. Todo el proceso se realiza dentro del entorno de Colab.

¿Qué es Google Colaboratory?

Colaboratory, o «Colab» para abreviar, es un producto de Google Research.

Permite a cualquier usuario escribir y ejecutar código arbitrario de Python en el navegador.

Es especialmente adecuado para tareas de aprendizaje automático, análisis de datos y educación. Desde un punto de vista más técnico, Colab es un servicio alojado de Jupyter Notebook que no requiere configuración y que ofrece acceso gratuito a recursos informáticos, como GPUs. Colab es un producto sin costo.

Limitaciones de Colab

Los recursos de Colab no están garantizados ni son ilimitados y, en ocasiones, los límites de uso fluctúan. Esto es necesario para que Colab pueda brindar recursos sin costo.

El código se ejecuta en una máquina virtual exclusiva para tu cuenta. Las máquinas virtuales se borran cuando están inactivas durante un tiempo prolongado y tienen una vida útil máxima determinada por el sistema de Colab. Esto significa que cualquier dato que se suba a la máquina virtual desaparecerá una vez que la máquina virtual sea borrada y solo se guardarán las celdas de código y/o markdown que se tengan en el notebook.

Esto es importante para Spark: cada vez que inicies una nueva sesión en Colab, tendrás que volver a ejecutar las celdas de instalación. Por eso es recomendable tener todas las celdas de configuración al inicio del notebook, para poder ejecutarlas rápidamente.

Instalando Apache Spark en Google Colaboratory

El proceso de instalación consta de cuatro pasos: instalar Java, descargar Spark, configurar las variables de entorno e instalar la librería findspark.

Paso 1: Instalar Java y descargar Apache Spark

Para poder instalar Spark en Colab vamos a necesitar descargar e instalar el SDK de Java y además descargar Apache Spark dentro de la máquina virtual.

Spark está escrito en Scala, que se ejecuta sobre la JVM (Java Virtual Machine), por lo que Java es un requisito indispensable. En este caso utilizaremos OpenJDK 11, que es la versión estándar compatible con Spark 3.x.

Ejecuta la siguiente celda en tu notebook de Colab:

!apt-get install openjdk-11-jdk-headless -qq > /dev/null
!wget -q https://archive.apache.org/dist/spark/spark-3.5.0/spark-3.5.0-bin-hadoop3.tgz
!tar xf spark-3.5.0-bin-hadoop3.tgz

Esto es lo que hace cada línea:

  • apt-get install openjdk-11-jdk-headless — Instala el JDK de Java 11 en modo headless (sin interfaz gráfica, ideal para servidores).
  • wget — Descarga el archivo comprimido de Apache Spark 3.5.0 con soporte para Hadoop 3 desde el archivo oficial de Apache.
  • tar xf — Descomprime el archivo .tgz descargado, creando la carpeta spark-3.5.0-bin-hadoop3 en el directorio /content/.

Nota: Los flags -qq y -q suprimen la salida verbose de los comandos para mantener la celda limpia. Si algo falla y necesitas depurar, puedes eliminar esos flags para ver la salida completa.

Paso 2: Configurar las variables de entorno

El siguiente paso que vamos a necesitar realizar es establecer las variables de entorno de JAVA_HOME y SPARK_HOME. Estas variables le indican al sistema dónde se encuentran las instalaciones de Java y Spark, respectivamente.

import os
os.environ["JAVA_HOME"] = "/usr/lib/jvm/java-11-openjdk-amd64"
os.environ["SPARK_HOME"] = "/content/spark-3.5.0-bin-hadoop3"
  • JAVA_HOME apunta al directorio donde se instaló OpenJDK 11. Esta ruta es estándar en las máquinas virtuales de Colab.
  • SPARK_HOME apunta al directorio donde se descomprimió Spark en el paso anterior.

Sin estas variables configuradas, PySpark no podrá localizar los binarios de Java ni de Spark, y obtendrás errores al intentar crear una sesión.

Paso 3: Instalar findspark

El siguiente paso será instalar la librería findspark.

!pip install -q findspark

¿Qué es findspark? Es una pequeña librería de Python que localiza la instalación de Spark en el sistema y la agrega al PATH de Python. Sin findspark, Python no sabría dónde encontrar los módulos de PySpark, ya que Spark no se instala como un paquete estándar de pip.

Una vez instalada, solo necesitas llamar a findspark.init() al inicio de tu código para que PySpark quede disponible como cualquier otra librería de Python.

Paso 4: Crear una sesión de Spark

Si todo ha ido bien hasta este paso, ya deberíamos tener Spark listo para empezar a trabajar con él en Colab. Por tanto, lo siguiente que vamos a realizar es crear una sesión de Spark y crear un DataFrame sencillo que nos ayudará a comprobar si la descarga y configuración de Spark fue exitosa.

import findspark
findspark.init()

from pyspark.sql import SparkSession

spark = SparkSession.builder \
    .master("local[*]") \
    .appName("Colab Spark") \
    .getOrCreate()

# Crear un DataFrame sencillo de prueba
data = [("José", 30), ("María", 25), ("Carlos", 35)]
columns = ["Nombre", "Edad"]

df = spark.createDataFrame(data, columns)
df.show()

Si la configuración fue exitosa, deberías ver la siguiente salida:

+------+----+
|Nombre|Edad|
+------+----+
|  José|  30|
| María|  25|
|Carlos|  35|
+------+----+

Vamos a entender cada parte del código:

  • findspark.init() — Localiza Spark y lo agrega al PATH.
  • SparkSession.builder — Inicia la construcción de una sesión de Spark.
  • .master("local[*]") — Configura Spark en modo local usando todos los cores disponibles de la máquina virtual.
  • .appName("Colab Spark") — Asigna un nombre a la aplicación (visible en la Spark UI).
  • .getOrCreate() — Crea una nueva sesión o reutiliza una existente si ya hay una activa.
  • spark.createDataFrame() — Crea un DataFrame a partir de una lista de tuplas y una lista de nombres de columnas.

Errores comunes y soluciones

Error: JAVA_HOME is not set

Si al crear la sesión de Spark obtienes un error que menciona JAVA_HOME, verifica que:

  1. La celda del Paso 1 (instalación de Java) se ejecutó correctamente.
  2. La celda del Paso 2 (variables de entorno) se ejecutó después de instalar Java.
  3. La ruta en JAVA_HOME coincide con la instalación real. Puedes verificarla con:
!ls /usr/lib/jvm/

Error: Py4JJavaError o SparkContext already exists

Este error ocurre cuando intentas crear una segunda sesión de Spark sin cerrar la anterior. Para solucionarlo, ejecuta:

spark.stop()

Y luego vuelve a crear la sesión con SparkSession.builder...getOrCreate().

La sesión se desconectó

Recuerda que Colab tiene un límite de inactividad. Si tu sesión se desconecta, simplemente vuelve a ejecutar todas las celdas desde el inicio (Runtime > Run all o Ctrl+F9).

Buenas prácticas

  • Organiza tu notebook: Coloca todas las celdas de instalación y configuración (Pasos 1-3) al inicio del notebook, separadas del código de análisis.
  • Usa spark.stop() al finalizar tu trabajo para liberar recursos de la máquina virtual.
  • Guarda tu notebook en Google Drive: Colab permite guardar notebooks directamente en Drive. Así no perderás tus celdas de código cuando la sesión expire.
  • Verifica la versión de Spark si sigues un tutorial específico. Puedes consultar la versión con:
print(spark.version)

Conclusión

Instalar Apache Spark en Google Colaboratory es un proceso sencillo que nos permite tener un entorno de Big Data funcional en cuestión de minutos, sin necesidad de configurar nada en nuestro equipo local. Esto lo convierte en una herramienta ideal para aprender Spark, realizar pruebas rápidas o prototipar pipelines de datos.

José Miguel Moya Curbelo
José Miguel Moya Curbelo
Senior Data Engineer & Big Data Instructor

MSc Applied Mathematics · AWS Cloud Practitioner · SCRUM Master. Especializado en arquitecturas de datos de alto rendimiento con Apache Spark, Snowflake, Python y Scala.

Conectar en LinkedIn

Artículos Relacionados

Deja un comentario

Tu dirección de correo electrónico no será publicada.