Problema con IPython / Jupyter su Spark (alias non riconosciuto)


11

Sto lavorando alla configurazione di una serie di VM per sperimentare Spark prima di spendere e spendere soldi per costruire un cluster con dell'hardware. Nota veloce: sono un accademico con un background nell'apprendimento automatico applicato e lavoro un po 'abbandonato nella scienza dei dati. Uso gli strumenti per l'informatica, raramente avrei bisogno di configurarli.

Ho creato 3 VM (1 master, 2 slave) e installato Spark con successo. Tutto sembra funzionare come dovrebbe. Il mio problema risiede nella creazione di un server Jupyter a cui è possibile connettersi da un browser non in esecuzione su una macchina del cluster.

Ho installato il notebook Jupyter con successo ... e funziona. Ho aggiunto un nuovo profilo IPython che si collega a un server remoto con Spark.

ora il problema

Il comando

$ ipython --profile=pyspark funziona bene e si collega al gruppo scintille. Tuttavia,

$ ipython notebook --profile=pyspark [<stuff is here>] Unrecognized alias: "profile=pyspark", it will probably have no effect. il defaultprofilo predefinito non è il pysparkprofilo.

La configurazione del mio notebook per pysparkha:

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'


Potrebbe essere che il seguente funzionerebbe? $ ipython --profile=pyspark notebook? È possibile che il problema riguardasse solo l'ordine degli argomenti.
Gábor Bakos,

Risposte:


12

IPython è ora passato alla versione 4.0 , il che significa che se lo stai usando, leggerà la sua configurazione ~/.jupyter, no ~/.ipython. Devi creare un nuovo file di configurazione con

jupyter notebook --generate-config

e quindi modificare il ~/.jupyter/jupyter_notebook_config.pyfile risultante in base alle proprie esigenze.

Altre istruzioni di installazione qui .


Mi sono spesso chiesto perché mantennero il comando del notebook ipython nella divisione di jupyter da ipython. Questo è esattamente il motivo per cui diventa davvero confuso. Grazie a te e Kau Zsh per aver segnalato la mancata corrispondenza del profilo. È quasi come se dovessero usare il profilo ipython quando si usano il comando notebook ipython e il profilo jupyter-notebook quando si usa quel comando.
AN6U5,

4

Supponiamo che il tuo file di configurazione sia ~ / .ipython / profile_pyspark / ipython_notebook_config.py, puoi comunque usare questo file di configurazione:

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

o

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

1

Il problema è che pyspark non è sul percorso del sistema operativo per impostazione predefinita. Dopo diversi tentativi falliti di aggiungerlo manualmente ai miei file / percorsi / etc di configurazione, mi sono imbattuto in questo repository GitHub chiamato findspark.

https://github.com/minrk/findspark

Ho clonato questo repository usando git clone https://github.com/minrk/findspark.git

Quindi ho eseguito "pip install findspark" dalla radice findspark.

Avviato un notebook Jupyter, creato un nuovo notebook Python3 e aggiunto

import findspark
import os
findspark.init ()
import pyspark
sc = pyspark.SparkContext ()

Prima di findspark.init (), import pyspark è tornato con un errore.

Per testare ho appena digitato sc e sono tornato:
pyspark.context.SparkContext a 0x4526d30

Tutti lavorano per me adesso.


Benvenuti nel sito Anahita :)
Dawny33
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.