Estoy trabajando en la configuración de un conjunto de máquinas virtuales para experimentar con Spark antes de gastar salir y gastar dinero en construir un clúster con algún hardware. Nota rápida: Soy un académico con experiencia en aprendizaje automático aplicado y trabajo un poco más en ciencia de datos. Utilizo las herramientas para la computación, rara vez necesitaría configurarlas.
Creé 3 máquinas virtuales (1 maestra, 2 esclavas) e instalé Spark con éxito. Todo parece estar funcionando como debería. Mi problema radica en crear un servidor Jupyter al que se pueda conectar desde un navegador que no se ejecuta en una máquina en el clúster.
He instalado el cuaderno Jupyter con éxito ... y se ejecuta. Agregué un nuevo perfil de IPython que se conecta a un servidor remoto con Spark.
ahora el problema
El comando
$ ipython --profile=pyspark
funciona bien y se conecta al grupo de chispas. Sin embargo,
$ ipython notebook --profile=pyspark
[<stuff is here>] Unrecognized alias: "profile=pyspark", it will probably have no effect.
el default
perfil predeterminado no es el pyspark
perfil.
La configuración de mi notebook para pyspark
tiene:
c = get_config()
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8880
c.NotebookApp.server_extensions.append('ipyparallel.nbextension')
c.NotebookApp.password = u'some password is here'
$ ipython --profile=pyspark notebook
? Puede ser que el problema fuera solo con el orden de los argumentos.Respuestas:
IPython ahora se ha trasladado a la versión 4.0 , lo que significa que si lo está utilizando, leerá su configuración
~/.jupyter
, no~/.ipython
. Debe crear un nuevo archivo de configuración cony luego edite el
~/.jupyter/jupyter_notebook_config.py
archivo resultante según sus necesidades.Más instrucciones de instalación aquí .
fuente
Suponga que su archivo de configuración es ~ / .ipython / profile_pyspark / ipython_notebook_config.py, aún puede usar este archivo de configuración de la siguiente manera:
o
fuente
El problema es que pyspark no está en la ruta del sistema os por defecto. Después de varios intentos fallidos de agregarlo manualmente a mis archivos de configuración / rutas / etc., me encontré con este repositorio de GitHub llamado findpark.
https://github.com/minrk/findspark
Cloné este repositorio usando git clone https://github.com/minrk/findspark.git
Luego ejecuté "pip install findpark" desde la raíz de findpark.
Comencé un cuaderno Jupyter, creé un nuevo cuaderno Python3 y agregué
importar findpark
import os
findpark.init ()
importar pyspark
sc = pyspark.SparkContext ()
Antes de findpark.init (), import pyspark regresó con un error.
Para probar, simplemente escribí sc y regresé:
pyspark.context.SparkContext a 0x4526d30
Todo trabajando para mí ahora.
fuente