2016-09-19 2 views
4

J'utilise le noyau PySpark installé par Apache Toree en Jupyter Notebook en utilisant Anaconda v4.0.0 (Python 2.7.11). Après avoir obtenu une table de Hive, utilisez matplotlib/panda pour tracer un graphe dans le cahier Jupyter, suivant le tutoriel ci-dessous:Comment faire pour obtenir ipython inbuild commande magique pour travailler dans le cahier Jupyter Pyspark kernel?

%matplotlib inline 
import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 

# Set some Pandas options 
pd.set_option('display.notebook_repr_html', False) 
pd.set_option('display.max_columns', 20) 
pd.set_option('display.max_rows', 25) 

normals = pd.Series(np.random.normal(size=10)) 
normals.plot() 

J'étais coincé au premier lien lorsque j'ai essayé d'utiliser% en ligne de matplotlib qui montre

Name: Error parsing magics! 
Message: Magics [matplotlib] do not exist! 
StackTrace: 

regardant Toree Magic et MagicManager, je réalise que %matplotlib appelle MagicManager au lieu du iPython en construire commande magique.

Est-il possible pour Apache Toree - PySpark d'utiliser la commande magique iPython in-build à la place?

+0

Installer 'matplotlib'? – zero323

+2

@ zero323 Je peux importer 'matplotlib' mais quand j'essaie d'exécuter'% matplotlib inline' sur la console de l'ordinateur portable Jupyter affiche '16/09/20 09:40:24 ERROR magic.MagicManager: Pas de magie trouvée pour matplotlib' un moyen de faire fonctionner la magie iPython? – Angletear

Répondre

1

J'ai fait une bidouille de contournement pour PySpark et commande magique au travail, au lieu d'installer Toree PySpark kernel J'utilise PySpark directly on Jupyter Notebook.

  1. Téléchargez et installez Anaconda2 4.0.0

  2. Télécharger Spark 1.6.0 pré-construit pour Hadoop 2.6

  3. Append ~/.bashrc avec les commandes suivantes et entrez source ~/.bashrc mettre à jour les variables d'environnement

    # ajouté à courir étincelle
    export PATH = "{votre_spark_dir } Étincelle/sbin: $ PATH »
    export PATH = "{your_spark_dir} étincelle/bin: $ PATH"

    # ajouté pour lancer l'application d'allumage en mode cluster
    export JAVA_HOME =/usr/lib/jvm/java -8-openjdk-amd64/jre

    # 2 lignes suivantes sont en option, nécessaire que Spark Cluster export HADOOP_CONF_DIR = {} your_hadoop_conf/Hadoop-export
    conf YARN_CONF_DIR = {} your_hadoop_conf/Hadoop- conf

    ajouté par Anaconda2 4.0.0 installateur
    export PATH = "{your_anaconda_dir}/Anaconda/bin: $ PATH"

    # ajouté à courir pyspark dans le cahier de jupyter
    export PYSPARK_DRIVER_PYTHON = {your_anaconda_dir}/Anaconda/bin/jupyter
    export PYSPARK_DRIVER_PYTHON_OPTS = "bloc-notes - -NotebookApp.open_browser = False --NotebookApp.ip = '0.0.0.0' --NotebookApp.port = 8888"
    export PYSPARK_PYTHON = {your_anaconda_dir}/Anaconda/bin/python

Exécution de l'ordinateur portable Jupyter

  1. pyspark --master=yarn --deploy-mode=client pour démarrer l'ordinateur portable en cours d'exécution PySpark in cluster mode

  2. Ouvrez un navigateur et entrez IP_ADDRESS_OF_COMPUTER:8888

Avertissement
Ceci est seulement une solution de contournement et non d'une manière réelle de régler le problème s'il vous plaît laissez-moi savoir si vous avez trouvé un moyen pour Toree PySpark ipython commande magique inbuild au travail. Commande magique telle que %matplotlib notebook