Problema con IPython / Jupyter en Spark (alias no reconocido)

11

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 defaultperfil predeterminado no es el pysparkperfil.

La configuración de mi notebook para pysparktiene:

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'

mcd
fuente
¿Podría ser que lo siguiente funcionaría? $ ipython --profile=pyspark notebook? Puede ser que el problema fuera solo con el orden de los argumentos.
Gábor Bakos

Respuestas:

12

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 con

jupyter notebook --generate-config

y luego edite el ~/.jupyter/jupyter_notebook_config.pyarchivo resultante según sus necesidades.

Más instrucciones de instalación aquí .

dmvianna
fuente
A menudo me pregunto por qué retuvieron el comando ipython notebook al dividir jupyter de ipython. Esto es precisamente por qué se vuelve realmente confuso. Gracias a usted y a kau zsh por señalar la falta de coincidencia de perfil. Es casi como si deberían usar el perfil ipython cuando usan el comando ipython notebook y el perfil jupyter-notebook cuando usan ese comando.
AN6U5
4

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:

ipython notebook --config='~/.ipython/profile_pyspark/ipython_notebook_config.py'

o

jupyter-notebook --config='~/.ipython/profile_pyspark/ipython_notebook_config.py'
kau zsh
fuente
1

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.

Anahita
fuente
Bienvenido al sitio Anahita :)
Dawny33