Icone fr 02

Como usar PySpark en el computador

Autor Favio Vázquez

 

spark 2

 

 

https://www.mytectra.com/apache-spark-and-scala-training.html

Supongamos que ya sabe de Apache Spark y PySpark, pero si desea ver una breve introducción la puede encontrar aquí.

El simbolo $ esta ejecutando el comando en el shell, por lo que no tienen que copiarlo.

 

Ejecutar PySpark in Jupyter

 

jupiter

 

  1. Instalar Jupyter Notebook

$ pip install jupyter

  1. Instalar PySpark

 

Comprueben si tienen Java 8 o versiones posteriores en su computadora. También necesitarás Python. (aconsejamos Python 3.5 de Anaconda).

Ahora vayan a la  pagina download di Spark. Seleccione la última versión, un paquete predeterminado para Hadoop, descárguelo.

Si quieren un apoyo Hive o si lo desea, tendrá que crear la distribución de spark usted mismo. Para hacerlo, vaya aquí.

Abra el archivo zip y muévalo a la carpeta directory / opt:

$ tar -xzf spark-2.3.0-bin-hadoop2.7.tgz
$ mv spark-2.3.0-bin-hadoop2.7 /opt/spark-2.3.0

Crea un enlace simbólico que te permita tener múltiples versiones de Spark:

$ ln -s /opt/spark-2.3.0 /opt/spark̀

Finalmente, insértalo en su  shell bash (o zsh ecc.) donde encuentre Spark de esta manera: configuren sus variables $PATH agregando las siguientes líneas en su archivo ~/.bashrc (o ~/.zshrc):

export SPARK_HOME=/opt/spark
export PATH=$SPARK_HOME/bin:$PATH

Ahora, para realizar  PySpark in Jupyter, necesitan actualizar las variables de entorno a PySpark. agregando las siguientes líneas en su archivo ~/.bashrc (or ~/.zshrc):

export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS=’notebook’

Reiniciar la terminal y lanzar PySpark:

$ pyspark

Este comando debería reiniciar Jupiter Notebook en su browser. Luego crea un nuevo notebook haciendo click ‘New’ > ‘Notebooks Python [default]’. Entonces les aparecera SparkContext y SqlContext (o solo SparkSession per Spark > 2.x)  en su computadora y ahora puede comenzar  a usar PySpark del pc. aqui algunos ejemplos para probar el ambiente.

Ejecutar PySpark nell’IDE  elejido (Integrated Devolopment Environment)

A veces necesitarás un entero IDE para crear códigos más complejos y PySpark no es de dafult en sys.path. pero esto no significa que no puedas usarlo como una biblioteca normal: simplemente agrégalo a la sys.path en la fase de ejecución.  El paquete findspark posee esta función.

$ pip install findspark

Después, para reiniciar PySpark en su IDE, escriban:

import findspark
findspark.init()

 

 

import pyspark
sc = pyspark.SparkContext(appName=”myAppName”)

Esto es todo. A continuación se muestra un ejemplo para probar PySpark localmente:

import findspark
findspark.init(“/opt/spark”)
import random
from pyspark import SparkContext
sc = SparkContext(appName=”EstimatePi”)
def inside(p):
    x, y = random.random(), random.random()
    return x*x + y*y < 1
NUM_SAMPLES = 1000000
count = sc.parallelize(range(0, NUM_SAMPLES)) \
             .filter(inside).count()
print(“Pi is roughly %f” % (4.0 * count / NUM_SAMPLES))
sc.stop()

view rawsimple_spark.py hosted with ❤ by GitHub

Si tiene alguna duda o pregunta, ¡no dude en hacer comentarios y solicitar aclaraciones!

 

Jupyter Notebook Python, Scala, R, Spark, Mesos Stack

docker

 

 

Docker es similar a una “máquina virtual” liviana (Dockers proporciona “imágenes” y “cointainer” y no máquinas virtuales),  como si tuviéramos una segunda computadora con su propio sistema operativo dentro de nuestra máquina. Podemos acceder a esta máquina virtual desde nuestra computadora y usarla como si estuviéramos accediendo a una computadora remota a través de ssh.

jupyter/docker-stacks
docker-stacks – Opinionated stacks of ready-to-run Jupyter applications in Docker.github.com

hagan click en el link  y siga los pasos indicados para tener una versión “contenerizada”  de Spark (2.3 con Hadoop 2.7)

Uso básico

El comando que sigue starts a container with the Notebook server listening for HTTP connections on port 8888 con un token de autenticación generada aleatoriamente

$ docker run -it –rm -p 8888:8888 jupyter/pyspark-notebook

 

Instalación de Pip

pip

 

Este paquete aún es experimental y puede cambiar en versiones futuras.

El paquete Python para Spark no pretende reemplazar todos los demás casos de uso. Esta versión     Python packaged de Spark es adecuado para interactuar con un clúster existente, que puede ser Spark, YARN o Mesos, pero no contiene las herramientas necesarias para configurar nuovos cluster.

Para instalarlo, ejecuta:$ pip install pyspark