spark apache-spark ipython ipython-notebook pyspark osx-elcapitan

apache spark - Link Spark con iPython Notebook



spark python documentation (4)

Para su información, puede ejecutar Scala, PySpark, SparkR y SQL con Spark ejecutándose sobre Jupyter a través de https://github.com/ibm-et/spark-kernel ahora. Los nuevos intérpretes se agregaron (y se marcaron como experimentales) desde la solicitud de extracción https://github.com/ibm-et/spark-kernel/pull/146 .

Consulte la página wiki de soporte de idiomas para obtener más información.

He seguido algunos tutoriales en línea, pero no funcionan con Spark 1.5.1 en OS X El Capitan (10.11)

Básicamente he ejecutado estos comandos descargar apache-spark

brew update brew install scala brew install apache-spark

actualizado el .bash_profile

# For a ipython notebook and pyspark integration if which pyspark > /dev/null; then export SPARK_HOME="/usr/local/Cellar/apache-spark/1.5.1/libexec/" export PYSPARK_SUBMIT_ARGS="--master local[2]" fi

correr

ipython profile create pyspark

creó un archivo de inicio ~/.ipython/profile_pyspark/startup/00-pyspark-setup.py configurado de esta manera

# Configure the necessary Spark environment import os import sys # Spark home spark_home = os.environ.get("SPARK_HOME") # If Spark V1.4.x is detected, then add '' pyspark-shell'' to # the end of the ''PYSPARK_SUBMIT_ARGS'' environment variable spark_release_file = spark_home + "/RELEASE" if os.path.exists(spark_release_file) and "Spark 1.4" in open(spark_release_file).read(): pyspark_submit_args = os.environ.get("PYSPARK_SUBMIT_ARGS", "") if not "pyspark-shell" in pyspark_submit_args: pyspark_submit_args += " pyspark-shell" os.environ["PYSPARK_SUBMIT_ARGS"] = pyspark_submit_args # Add the spark python sub-directory to the path sys.path.insert(0, spark_home + "/python") # Add the py4j to the path. # You may need to change the version number to match your install sys.path.insert(0, os.path.join(spark_home, "python/lib/py4j-0.8.2.1-src.zip")) # Initialize PySpark to predefine the SparkContext variable ''sc'' execfile(os.path.join(spark_home, "python/pyspark/shell.py"))

Luego ejecuto ipython notebook --profile=pyspark y la notebook funciona bien, pero no se reconoce el sc (contexto de chispa).

¿Alguien logró hacer esto con Spark 1.5.1 ?

EDITAR: puedes seguir esta guía para que funcione

https://gist.github.com/tommycarpi/f5a67c66a8f2170e263c


Primero, asegúrese de tener un ambiente de chispa en su máquina.

Luego, instale un módulo python findspark través de pip:

$ sudo pip install findspark

Y luego en el caparazón de python:

import findspark findspark.init() import pyspark sc = pyspark.SparkContext(appName="myAppName")

Ahora puede hacer lo que quiera con pyspark en el shell de python (o en ipython).

En realidad, es la forma más fácil desde mi punto de vista usar el kernel de chispa en el jupyter


Spark with IPython / Jupyter notebook es genial y me complace que Alberto haya podido ayudarlo a que funcione.

Como referencia también vale la pena considerar 2 buenas alternativas que vienen preempaquetadas y que pueden integrarse fácilmente en un clúster YARN (si lo desea).

Cuaderno Spark: https://github.com/andypetrella/spark-notebook

Apache Zeppelin: https://zeppelin.incubator.apache.org/

Al momento de escribir, Spark Notebook (v0.6.1) es más maduro y puede precompilar una instalación contra su versión de Spark y Hadoop aquí: http://spark-notebook.io/

Zeppelin (v0.5) parece muy prometedor pero no ofrece tanta funcionalidad como Spark Notebook o IPython con Spark en este momento.


Tengo instalado Jupyter, y de hecho es más simple de lo que piensas:

  1. Instala anaconda para OSX.
  2. Instale jupyter escribiendo la siguiente línea en su terminal Haga clic en mí para obtener más información .

    ilovejobs@mymac:~$ conda install jupyter

  3. Actualiza jupyter por si acaso.

    ilovejobs@mymac:~$ conda update jupyter

  4. Descargue Apache Spark y compílelo, o descargue y descomprima Apache Spark 1.5.1 + Hadoop 2.6 .

    ilovejobs@mymac:~$ cd Downloads ilovejobs@mymac:~/Downloads$ wget http://www.apache.org/dyn/closer.lua/spark/spark-1.5.1/spark-1.5.1-bin-hadoop2.6.tgz

  5. Cree una carpeta de Apps en su hogar (es decir):

    ilovejobs@mymac:~/Downloads$ mkdir ~/Apps

  6. Mueva la carpeta sin comprimir spark-1.5.1 al directorio ~/Apps .

    ilovejobs@mymac:~/Downloads$ mv spark-1.5.1/ ~/Apps

  7. Vaya al directorio ~/Apps y verifique que la chispa esté allí.

    ilovejobs@mymac:~/Downloads$ cd ~/Apps ilovejobs@mymac:~/Apps$ ls -l drwxr-xr-x ?? ilovejobs ilovejobs 4096 ?? ?? ??:?? spark-1.5.1

  8. Aquí está la primera parte difícil . Agregue los binarios de chispa a su $PATH :

    ilovejobs@mymac:~/Apps$ cd ilovejobs@mymac:~$ echo "export $HOME/apps/spark/bin:$PATH" >> .profile

  9. Aquí está la segunda parte difícil . Agregue también estas variables de entorno:

    ilovejobs@mymac:~$ echo "export PYSPARK_DRIVER_PYTHON=ipython" >> .profile ilovejobs@mymac:~$ echo "export PYSPARK_DRIVER_PYTHON_OPTS=''notebook'' pyspark" >> .profile

  10. Obtenga el perfil para hacer que estas variables estén disponibles para este terminal

    ilovejobs@mymac:~$ source .profile

  11. Cree un directorio ~/notebooks .

    ilovejobs@mymac:~$ mkdir notebooks

  12. Mover a ~/notebooks y ejecutar pyspark:

    ilovejobs@mymac:~$ cd notebooks ilovejobs@mymac:~/notebooks$ pyspark

Tenga en cuenta que puede agregar esas variables al .bashrc ubicado en su hogar. Ahora sé feliz, deberías poder ejecutar jupyter con un kernel pyspark (lo mostrará como un pitón 2 pero usará chispa)