web-dev-qa-db-ja.com

AWS EMR Jupyterノートブックでmatplotlibを機能させるにはどうすればよいですか?

これはこの質問に非常に近いですが、質問に固有の詳細をいくつか追加しました。

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(AW​​S 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ノートブックでグラフを表示して画像をプロットするにはどうすればよいですか?)

17
Matt

ご指摘のとおり、matplotlibはEMRクラスターにインストールされていないため、次のようなエラーが発生します。

error

ただし、マネージドJupyterノートブックインスタンス(Dockerコンテナー)では実際に使用できます。 %%localマジックを使用すると、セルをローカルで実行できます。

local

6
Foxan Ng

以下はうまくいくはずです:

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
0
Madaditya

として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 /

0
00schneider