Ejecución distribuida Spark para Python

por | Sep 13, 2018 | Big data, Python, Spark | 2 Comentarios

Ejemplo «Hola mundo»

Definir el script en Python a ejecutar

Código del fichero hola_mundo.py

from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("Hola_Mundo").getOrCreate()
print("Hola mundo")
spark.stop()

Nota: Al ser un lenguaje interpretado no es necesario compilarlo para su ejecución.

 

Ejecución distribuida del script

Para ejecutar de forma distribuida el script en python detro de un entorno distribuido como puede ser Hortonworks, se debe ejecutar desde el shell la siguiente instrucción:

spark-submit --master local[2] \
 --executor-memory 1g \
 --name hola_mundo\
 --conf "spark.app.id=hola_mundo" \
 /home/hola_mundo.py

Nota: «\» se ponen para indicar al interprete del shell que la instrucción continua en la siguiente linea.

 

Ejemplo de uso de «SparkContext»

Definir el script en Python a ejecutar

Código del fichero spark_context.py

from pyspark import SparkConf, SparkContext

conf = (SparkConf()
         .setMaster("local")
         .setAppName("My app")
         .set("spark.executor.memory", "1g"))

sc = SparkContext(conf = conf)

rdd = sc.parallelize([1, 1, 1, 1, 2, 2, 2, 3, 3, 4])
print(rdd.collect()) 

rdd2 = rdd.map(lambda x: x*2)
tSum = rdd2.reduce(lambda x,y: x+y)
print("La suma del producto total es: " + str(tSum))

Nota: Al ser un lenguaje interpretado no es necesario compilarlo para su ejecución.

Ejecución distribuida del script

Para ejecutar de forma distribuida el script en python dentro de un entorno distribuido como puede ser Hortonworks, se debe ejecutar desde el shell la siguiente instrucción:

spark-submit --master local[2] \
 /home/spark_context.py

Nota: «\» se ponen para indicar al interprete del shell que la instrucción continua en la siguiente linea.

Fuente: Documentación oficial sobre comandos de spark-submit

 

Fuente: Web oficial de Apache Spark

2 Comentarios

  1. Gaby

    Hola
    me interesa tomar un curso de Python desde cero, de forma escolarizada, ¿sabes donde puedo encontrarlo?

    Responder

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *