これはこの質問に非常に近いですが、質問に固有の詳細をいくつか追加しました。
AWS-EMR jupyterノートブックを使用したMatplotlibプロット
私のJupyterノートブック内でmatplotlibを使用する方法を見つけたいのですが。エラーのあるコードスニペットは次のとおりです。非常に簡単です。
ノートブック
import matplotlib
matplotlib.use("agg")
import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.show()
この行だけがTKinter(AWS EMRクラスターにインストールされていない)を使用しようとすると失敗するため、このスニペットを選択しました。
import matplotlib.pyplot as plt
ノートブックスニペット全体を実行すると、実行時エラーは発生しませんが、何も起こりません(グラフは表示されません)。
pysparkマジック表記
%matplotlib inline
結果
unknown magic command 'matplotlib'
UnknownMagic: unknown magic command 'matplotlib'
IPythonの明示的なマジックコール
from IPython import get_ipython
get_ipython().run_line_magic('matplotlib', 'inline')
結果
'NoneType' object has no attribute 'run_line_magic'
Traceback (most recent call last):
AttributeError: 'NoneType' object has no attribute 'run_line_magic'
spark magicplotをインライン化するノートブックにmatplotlibプロットをインライン化します(少なくとも私の解釈です)。bootstrapアクションを使用した後、これらの両方を試しました:
EMRブートストラップ
Sudo pip install matplotlib
Sudo pip install ipython
これらを追加しても、matplotlibには魔法がないというエラーが表示されます。だから私の質問は間違いなく:
質問
AWS EMR Jupyterノートブックでmatplotlibを機能させるにはどうすればよいですか?
(または、AWS EMR Jupyterノートブックでグラフを表示して画像をプロットするにはどうすればよいですか?)
以下はうまくいくはずです:
import matplotlib
%matplotlib inline
import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
1つのセルでスクリプト全体を実行する
@ 00schneiderによる答えは実際に機能します。
import matplotlib.pyplot as plt
# plot data here
plt.show()
後
plt.show()
以下を含む魔法のセルを再実行すると、AWS EMR Jupyter PySparkノートブックにプロットが表示されます
%matplot plt
としてmatplotlibをインポート
import matplotlib.pyplot as plt
そして魔法のコマンド%matplot plt
代わりに、ここのチュートリアルに示すように https://aws.Amazon.com/de/blogs/big-data/install-python-libraries-on-a-running-cluster-with-emr- notebooks /