Apache Spark es un motor de análisis unificado para el procesamiento de datos a gran escala. Ofrece API de alto nivel en Scala, Java, Python y R, y un motor optimizado que admite gráficos de cálculo general para el análisis de datos.
También es compatible con un amplio conjunto de herramientas de alto nivel, como Spark SQL para SQL y DataFrames, la API de Pandas en Spark para cargas de trabajo de Pandas, MLlib para aprendizaje automático, GraphX para procesamiento de gráficos y Structured Streaming para procesamiento de flujos.
Lo puedes usar en Java, Python, Scala y R.
Nosotros lo usaremos con Python.
Descargamos Apache Spark:
https://www.apache.org/dyn/closer.lua/spark/spark-4.0.0/spark-4.0.0-bin-hadoop3.tgzLo descomprimimos en:
Configuramos la variable de entorno ``SPARK_HOME```:
- Nombre de la variable: SPARK_HOME
- Valor de la variable: C:\Spark\spark-4.0.0-bin-hadoop3
La agregamos al Path:
%SPARK_HOME%\binPodrías agregar otra instalación:
https://github.com/steveloughran/winutils/tree/masterDescargar ``winutils.exe`` y crear un directorio C:\hadoop\bin
Crear la variable de entorno:
- Nombre de la variable: HADOOP_HOME
- Valor de la variable: C:\hadoop.
Y agregarla al Path:
%HADOOP_HOME%\bin¿Qué es PySpark?
Una API de Python para Apache Spark que se utiliza para procesar grandes conjuntos de datos mediante computación distribuida. Básicamente, es la interfaz de Python para Spark.
Lo instalamos de la siguiente manera:
$ pip install pyspark
Verificamos la instalación:
$ pyspark
Otra forma:
$ pip show pyspark
También podemos descargar una imagen con Docker:
$ docker run -it --rm spark:python3 /opt/spark/bin/pyspark
Agregar variables de entorno ``PYSPARK_DRIVER_PYTHON``
- Nombre variable: PYSPARK_DRIVER_PYTHON
- Valor: C:\Users\HP\AppData\Local\Programs\Python\Python313\python.exe
Y ``PYSPARK_DRIVER_PYTHON``
- Nombre variable: PYSPARK_PYTHON
- Valor: C:\Users\HP\AppData\Local\Programs\Python\Python313\python.exe
Veamos uno ejemplo de uso de PySpark.
ejemplo.py
from pyspark.sql import SparkSession # Crear una sesión de Spark spark = SparkSession.builder \ .appName("EjemploPySpark") \ .getOrCreate() # Datos de ejemplo: lista de tuplas con nombres y edades data = [("Alice", 25), ("Bob", 30), ("Cathy", 28), ("David", 35)] # Crear un DataFrame a partir de los datos columns = ["Nombre", "Edad"] df = spark.createDataFrame(data, columns) # Mostrar el DataFrame print("DataFrame original:") df.show() # Filtrar personas mayores de 27 años df_filtrado = df.filter(df.Edad > 27) # Mostrar el DataFrame filtrado print("Personas mayores de 27 años:") df_filtrado.show() # Contar el número de filas en el DataFrame filtrado conteo = df_filtrado.count() print(f"Número de personas mayores de 27 años: {conteo}") # Detener la sesión de Spark spark.stop()
Nota: Deberás tener Python en su versión 3.10 ya que con la 3.13 no parece funcionar bien.
Concluyendo, con PySpark puedes realizar diversas tareas relacionadas con el procesamiento de grandes conjuntos de datos y se puede usar a la par de otras herramientas para Python.
Continuaremos con esta serie sobre librerías y herramientas para Python.
Enlaces:
https://pypi.org/project/pyspark/https://spark.apache.org/
Comentarios
Publicar un comentario