Entonces, has escuchado hablar de PySpark y te dices: “Bueno, quiero probarlo.” Tal vez lo viste en una oferta de trabajo, o alguien en tu equipo lo mencionó en una reunión y asentiste como si supieras de qué hablaban (sí, a todos nos ha pasado).
Esta guía es para ti. Vamos a ver cómo instalar PySpark en tu laptop usando WSL con Ubuntu. No necesitas montar un clúster gigante ni pelearte con errores de Java. Solo pasos simples, ejecutando todo localmente con Python.
Vamos a:
- Instalar PySpark
- Configurar un entorno virtual limpio
- Descargar un dataset desde Kaggle
- Explorar un poco los datos usando DataFrames
Y ya está. Nada complicado. Nada de teoría pesada. Solo cosas prácticas que puedes ejecutar y aprender en el camino.
¿Qué es Spark y por qué debería importarte?
La versión rápida: Spark es un motor de procesamiento distribuido. Sirve para trabajar con grandes volúmenes de datos y hacerlo rápido. Pero de verdad rápido. No ese tipo de rápido de “espera 10 minutos para que termine tu join en pandas”, sino velocidad a nivel de clúster.
¿La buena noticia? No necesitas entender todo lo que pasa detrás desde el comienzo. Solo hace falta tener claro esto:
- Apache Spark es el motor
- SparkSQL te deja escribir consultas SQL dentro de Spark
- PySpark es la forma de usar Spark desde Python
- RDDs y DataFrames son las formas en que Spark maneja los datos internamente
Nos vamos a quedar con PySpark por ahora. No vamos a instalar toda la plataforma de Spark completa porque queremos mantenerlo simple. PySpark es más que suficiente para aprender y hacer pruebas en local.
¿Qué vamos a usar?
Vamos a trabajar con un dataset llamado “Most Streamed Songs” de Spotify. Está disponible en Kaggle y es perfecto para empezar a hacer análisis básicos.
Vamos a explorar un poco los datos y hacer unas cuantas transformaciones simples usando DataFrames con PySpark. La idea es entender cómo funciona Spark sin ahogarnos en configuraciones ni arquitecturas complejas.
¿Estás en macOS? No hay problema. La mayoría de pasos son iguales. Solo mencionaré un par de cosas distintas cuando sea necesario.
RDDs vs DataFrames (y sí, vamos a elegir)
Para ponerlo fácil:
- RDDs son como ladrillos en bruto. Muy flexibles, muy potentes, pero algo pesados si estás recién empezando. Geniales si necesitas control total sobre cómo se procesa todo.
- DataFrames son la versión más amigable. Optimizados, más fáciles de escribir y muy parecidos a trabajar con SQL o pandas.
En este tutorial, vamos con DataFrames. No hay razón para complicarse con RDDs a menos que tengas una necesidad muy específica. Spark ya hace el trabajo duro detrás, así que tú te puedes concentrar en escribir lógica y obtener resultados.
¿Por qué solo usamos PySpark?
¿La verdad? Porque es suficiente.
No necesitas montar toda la bestia de Apache Spark para empezar a aprender. PySpark se instala rápido, funciona bien en local, y te da acceso a casi todo lo que usarías en producción: consultas estilo SQL, transformaciones, agregaciones y más.
Y más adelante, si quieres escalar a clústeres o usar Spark en la nube, ya tendrás una base sólida.
Configuración del Entorno
Requisitos previos
WSL Ubuntu
Necesitas tener WSL con Ubuntu ya instalado en tu máquina con Windows. Esta guía no cubre cómo instalar WSL, pero si ya lo hiciste, seguimos.
Python 3
Python debería estar instalado dentro de WSL. Pero por si acaso, aquí te dejo cómo verificar e instalarlo:sudo apt-get update
sudo apt-get install python3
Confirma la instalación con:python3 --version
Instalando PySpark
Vamos a crear un entorno virtual e instalar PySpark. No es tan complicado como suena. Piénsalo como armar una sandbox donde puedes hacer pruebas sin romper nada del sistema.
Paso 1: Crea tu carpeta de proyecto
Vamos a mantener todo ordenado. Abre tu terminal y escribe:
mkdir pyspark_shell
cd pyspark_shell
Paso 2: Crear y Activar el Entorno Virtual
Queremos aislar este proyecto del resto de tu sistema Python.
Primero asegúrate de tener el paquete necesario:
sudo apt-get install python3-venv
Ahora crea y activa el entorno:
python3 -m venv pysparkshell_env
source pysparkshell_env/bin/activate
Esto creará y activará un entorno virtual llamado pysparkshell_env
. Deberías ver (pysparkshell_env)
al inicio de tu línea de comando, lo que indica que el entorno está activo.
Paso 3: Instala Java (sí, Spark lo necesita)
Spark corre sobre Java, así que tenemos que instalarlo primero:
sudo apt-get install default-jdk
Después, dile a tu sistema dónde está instalado Java:
export JAVA_HOME=/usr/lib/jvm/default-java
Eso ayuda a que Spark encuentre lo que necesita para funcionar correctamente.
Paso 4: Instala PySpark (ahora sí)
Antes de instalar PySpark, instala wheel
para evitar un posible error:
pip install wheel
Ahora instala PySpark:
pip install pyspark
Verifica que todo se instaló bien con:
pyspark --version
Si ves la información de la versión, ya estás listo para empezar.
Nota rápida para usuarios de macOS
Si estás en macOS, casi todos los pasos son iguales. La diferencia principal es que probablemente usarás Homebrew en vez de apt-get
para instalar Python o Java. Pero después de eso, sigues los mismos pasos para el entorno virtual e instalar PySpark.
Descargar el Conjunto de Datos de Kaggle
Este proyecto usa un dataset llamado “Most Streamed Songs” de Spotify. Está en Kaggle y es una buena opción para quienes recién empiezan. Tiene buen formato, no es muy grande, y da para hacer cosas interesantes.
Si ya tienes cuenta en Kaggle, perfecto. Entra, busca el dataset y descárgalo. Si no, necesitas crear una. Es gratis, pero sí, es un paso extra.
Para ahorrarte tiempo, también hemos dejado el archivo CSV listo para descargar aquí mismo. Así que si quieres saltarte Kaggle, simplemente descárgalo directo. Sin login, sin tokens, sin enredos.
[Descargar el CSV de Spotify Most Streamed Songs]
Solo haz clic, guárdalo, y listo.
Guarda el archivo dentro de la carpeta de proyecto que creaste, la misma pyspark_shell
. Tener todo en un solo sitio facilita las cosas cuando empecemos a escribir código.
Arrancando PySpark y cargando los datos
Bien, ya llegaste hasta aquí. PySpark está instalado, el dataset está en tu carpeta de proyecto, y ya puedes empezar a jugar con código.
Paso 1: Abre la consola de PySpark
En tu terminal, escribe:
pyspark
Esto abrirá la consola interactiva de PySpark. Es como una consola de Python, pero para Spark. Puedes escribir comandos y ver resultados al instante.

Paso 2: Carga el dataset
Ahora que estás dentro de la consola, vamos a cargar el CSV en un DataFrame.
Un DataFrame es como una hoja de Excel, pero con esteroides. Puedes filtrarlo, hacer queries, agrupar, lo que quieras. Y Spark se encarga del trabajo pesado.
Pega esto en la consola:
# Cargar el conjunto de datos CSV
songs_df = spark.read.csv("Spotify_Most_Streamed_Songs.csv", header=True, inferSchema=True)
# Mostrar las primeras filas del DataFrame
songs_df.show(5)
¿Y qué hace esto?
- Carga el archivo CSV en un DataFrame llamado
songs_df
header=True
le dice a Spark que use los nombres de las columnasinferSchema=True
deja que Spark detecte automáticamente los tipos de datosshow(5)
muestra las primeras cinco filas
Paso 3: Realizar Análisis Básico de Datos
Vamos a mantenerlo simple pero útil. Queremos entender cómo se ve el dataset y hacer un par de queries.
3.1: Ver el esquema de columnas
Para ver qué columnas tienes y qué tipo de datos contienen:
songs_df.printSchema()
3.2: Contar cuántos registros hay
Para saber cuántos registros tiene el dataset:
print(f"Total de registros: {songs_df.count()}")
3.3: Consultas básicas con SparkSQL
Spark también te permite usar SQL.
Primero, registra el DataFrame como una vista temporal y luego haz una consulta SQL para ver los 5 artistas más escuchados:
songs_df.createOrReplaceTempView("songs")
# Consulta de ejemplo para encontrar los 5 artistas con el mayor número de streams
artist_streams = spark.sql("SELECT `artist(s)_name`, SUM(streams) AS total_streams FROM songs GROUP BY `artist(s)_name` ORDER BY total_streams DESC LIMIT 5")
artist_streams.show()
Esto agrupa por artista, suma los streams, ordena de mayor a menor, y te muestra los primeros cinco.
Y listo. Acabas de correr SQL dentro de Spark. Nada mal, ¿ah?
¿Qué hemos hecho hasta ahora?
Vamos a hacer un repaso rápido:
- Configuraste un entorno virtual limpio y le instalaste PySpark
- Descargaste un dataset y lo guardaste en tu proyecto
- Abriste la consola de PySpark y cargaste los datos en un DataFrame
- Ejecutaste algunos comandos y una consulta SQL para explorar los datos
Eso ya es una base sólida. Tienes un entorno funcionando y datos reales. Desde acá puedes seguir filtrando por año, graficar con herramientas de Python por fuera de Spark, o incluso probar algún modelo básico de machine learning si se te antoja.