C'est très proche de cette question, mais j'ai ajouté quelques détails spécifiques à ma question:
Matplotlib Plotting utilisant le bloc-notes jupyter AWS-EMR
Je voudrais trouver un moyen d'utiliser matplotlib dans mon carnet Jupyter. Voici l'extrait de code par erreur, c'est assez simple:
cahier
import matplotlib
matplotlib.use("agg")
import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.show()
J'ai choisi cet extrait car cette ligne échoue à elle seule car elle essaie d'utiliser TKinter (qui n'est pas installé sur un cluster AWS EMR):
import matplotlib.pyplot as plt
Lorsque j'exécute l'extrait de bloc-notes complet, le résultat n'est pas une erreur d'exécution, mais rien ne se produit également (aucun graphique n'est affiché.) Ma compréhension d'une façon dont cela peut fonctionner consiste à ajouter l'un des extraits suivants:
notation magique pyspark
%matplotlib inline
résultats
unknown magic command 'matplotlib'
UnknownMagic: unknown magic command 'matplotlib'
Appel magique explicite IPython
from IPython import get_ipython
get_ipython().run_line_magic('matplotlib', 'inline')
résultats
'NoneType' object has no attribute 'run_line_magic'
Traceback (most recent call last):
AttributeError: 'NoneType' object has no attribute 'run_line_magic'
à mon cahier qui appelle une commande spark magic qui inline les tracés matplotlib (du moins c'est mon interprétation.) J'ai essayé les deux après avoir utilisé une action bootstrap :
Bootstrap EMR
Sudo pip install matplotlib
Sudo pip install ipython
Même avec ces ajouts, j'obtiens toujours une erreur qu'il n'y a pas de magie pour matplotlib. Donc ma question est définitivement:
Question
Comment faire fonctionner matplotlib dans un ordinateur portable AWS EMR Jupyter?
(Ou comment afficher des graphiques et tracer des images dans le bloc-notes AWS EMR Jupyter?)
Les éléments suivants devraient fonctionner:
import matplotlib
%matplotlib inline
import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
Exécutez le script entier dans une cellule
La réponse de @ 00schneider fonctionne réellement.
import matplotlib.pyplot as plt
# plot data here
plt.show()
après
plt.show ()
réexécutez la cellule magique qui contient ce qui suit, et vous verrez un graphique sur votre ordinateur portable AWS EMR Jupyter PySpark
%matplot plt
Importer matplotlib sous
import matplotlib.pyplot as plt
et utilisez la commande magique %matplot plt
à la place, comme indiqué dans le didacticiel ici: https://aws.Amazon.com/de/blogs/big-data/install-python-libraries-on-a-running-cluster-with-emr- cahiers /