Como usar PySpark en el computador
Autor Favio Vázquez
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
- Instalar Jupyter Notebook
$ pip install jupyter
- 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 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.
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
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