Project Jupyter

Introducción

Jupyter es una aplicación web que permite crear y compartir documentos que contienen codigo 'vivo', ecuaciones, visualizaciones y texto.

La misma es muy utilizada como herramienta en contextos de Data Science, por las posibilidades que da para expresar informacion asi como la conexión posible mediante kernels a diferentes lenguajes.

Para mas información pueden visitar jupyter.org y para saber mas de sus origenes pueden remitirse a IPython Notebook

Objetivo

El objetivo de esta guía es realizar una instalación de Jupyter de forma local y realizar una configuracion para poder usar el kernel de spark con la instalación que realizamos localmente.

Esta instalación fue probada en un entorno de Ubuntu LTS.

Instalación

Instalacion de python-dev y pip

Suponemos que existe en el sistema una instalacion de python. Por esta razón instalamos herramientas de build y extensiones para python (para poder compilar algunas librerias) y pip, un popular manejador de paquetes.

apt-get install build-essential python-dev python-pip

Recomendamos realizar una actualizacion de pip a traves del comando

pip install --upgrade pip

Instalación de jupyter

Una vez instalado pip, lo usamos para instalar jupyter

pip install jupyter

y tambien la extension ipyparallel que se utiliza como interfaz para el manejador de kernels en la interfaz de jupyter

pip install ipyparallel
ipcluster nbextension enable

Iniciando el Jupyter Server

Para poder iniciar el server de jupyter, desde linea de comando deben ir al directorio en el cual van a querer guardar los notebooks y ejecutar el siguiente comando para levantar el server en todas las interfaces.

jupyter notebook --ip 0.0.0.0

Esto va a imprimir informacion sobre el notebook server en la consola, incluyendo la url de la aplicacion web. (http://0.0.0.0:8000)

Para poder utilizar jupyter desde un web browser accedan a http://0.0.0.0:8000

Para mas opciones de ejecucion pueden ver la siguente documentacion: http://jupyter.readthedocs.org/en/latest/running.html

Iniciando Jupyter Server con pyspark

Para contar con soporte de pyspark en jupyter, tendremos que configurar las siguientes variables de entorno en nuestro shell

export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS=notebook

de esta forma le indicamos a pyspark que por default vamos a utilizar al iniciar pyspark como driver.

Para iniciar entonces jupyter notebook con soporte a spark tenemos que ejecutar

pyspark

El cual debería estar disponible como comando si completaron la guia de instalación de apache spark y configuraron correctamente los PATHs de apache spark correspondientes.

Al ejecutarse debería iniciarse pyspark y verse el log de jupyter server

ak @ nakata ~ % pyspark                                                     [0]
[I 17:59:06.045 NotebookApp] Serving notebooks from local directory: /Users/ak
[I 17:59:06.045 NotebookApp] 0 active kernels
[I 17:59:06.045 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/?token=da8bcb1f17866f98fda425f03efbdb7cdac72a41bcaa52a6
[I 17:59:06.045 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 17:59:06.046 NotebookApp]

    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://localhost:8888/?token=da8bcb1f17866f98fda425f03efbdb7cdac72a41bcaa52a6
[I 17:59:06.438 NotebookApp] Accepting one-time-token-authenticated connection from ::1
[I 17:59:11.357 NotebookApp] Creating new notebook in
[I 17:59:12.454 NotebookApp] Kernel started: 39f4b4ce-99a1-4767-96f3-381fac95500e

En algunos sistema dependiendo de la configuración se abrirá un tab en su navegador ya mostrando la web-ui de jupyter notebook.

Para terminar de probar la instalación creen un notebook de tipo python como en siguiente screenshot.

Una vez en el notebook especifico, pueden verificar la instalación verificando si la variable sc se encuentra definida como en el screenshot abajo.

Si queremos frecuentemente usarlo de esta forma podemos guardar adicionar esas lineas de setup de variables de entorno en nuestro .bashrc o .profile.

results matching ""

    No results matching ""