Problème avec IPython / Jupyter sur Spark (alias non reconnu)

11

Je travaille à la mise en place d'un ensemble de machines virtuelles pour expérimenter avec Spark avant de dépenser et de dépenser de l'argent pour construire un cluster avec du matériel. Note rapide: je suis un universitaire avec une formation en apprentissage automatique appliqué et je travaille un peu en science des données J'utilise les outils informatiques, rarement j'aurais besoin de les configurer.

J'ai créé 3 machines virtuelles (1 maître, 2 esclaves) et installé Spark avec succès. Tout semble fonctionner comme il se doit. Mon problème réside dans la création d'un serveur Jupyter auquel on peut se connecter à partir d'un navigateur qui ne fonctionne pas sur une machine du cluster.

J'ai installé le bloc-notes Jupyter avec succès ... et il fonctionne. J'ai ajouté un nouveau profil IPython se connectant à un serveur distant avec Spark.

maintenant le problème

La commande

$ ipython --profile=pyspark fonctionne bien et il se connecte au cluster d'étincelles. cependant,

$ ipython notebook --profile=pyspark [<stuff is here>] Unrecognized alias: "profile=pyspark", it will probably have no effect. par défaut, le defaultprofil n'est pas le pysparkprofil.

Ma config notebook pour pysparka:

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'

gcd
la source
Se pourrait-il que les éléments suivants fonctionnent? $ ipython --profile=pyspark notebook? Il se peut que le problème ne soit lié qu'à l'ordre des arguments.
Gábor Bakos

Réponses:

12

IPython est maintenant passé à la version 4.0 , ce qui signifie que si vous l'utilisez, il lira sa configuration ~/.jupyter, non ~/.ipython. Vous devez créer un nouveau fichier de configuration avec

jupyter notebook --generate-config

puis modifiez le ~/.jupyter/jupyter_notebook_config.pyfichier résultant selon vos besoins.

Plus d'instructions d'installation ici .

dmvianna
la source
Je me suis souvent demandé pourquoi ils avaient conservé la commande ipython notebook pour séparer jupyter d'ipython. C'est précisément pourquoi cela devient vraiment déroutant. Merci à vous et à kau zsh d'avoir signalé la non-concordance de profil. C'est presque comme s'ils devraient utiliser le profil ipython lors de l'utilisation de la commande ipython notebook et le profil jupyter-notebook lors de l'utilisation de cette commande.
AN6U5
4

Supposons que votre fichier de configuration soit ~ / .ipython / profile_pyspark / ipython_notebook_config.py, vous pouvez toujours utiliser ce fichier de configuration en:

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

ou

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

Le problème est que pyspark n'est pas sur le chemin sys os par défaut. Après plusieurs tentatives infructueuses pour l'ajouter manuellement à mes fichiers de configuration / chemins / etc, je suis tombé sur ce référentiel GitHub appelé findspark.

https://github.com/minrk/findspark

J'ai cloné ce référentiel en utilisant le clone git https://github.com/minrk/findspark.git

Ensuite, j'ai exécuté "pip install FindSpark" à partir de la racine TrouvePark.

Démarrage d'un bloc-notes Jupyter, création d'un nouveau bloc-notes Python3 et ajout

importer findpark
importer os
findpark.init ()
importer pyspark
sc = pyspark.SparkContext ()

Avant findpark.init (), import pyspark est revenu avec une erreur.

Pour tester, je viens de taper sc et je suis revenu:
pyspark.context.SparkContext à 0x4526d30

Tous travaillent pour moi maintenant.

Anahita
la source
Bienvenue sur le site Anahita :)
Dawny33