Команде% matplotlib inline magic не удается прочитать переменные из предыдущих ячеек в AWS-EMR Jupyterhub Notebook - PullRequest
0 голосов
/ 09 июня 2019

Я пытаюсь построить набор искровых данных с помощью matplotlib после преобразования его в pandas dataframe в jupyterhub AWS EMR.

Я могу построить в одной ячейке, используя matplotlib, как показано ниже:

%matplotlib inline
import matplotlib
import matplotlib.pyplot as plt

df = [1, 1.6, 3, 4.2, 5, 4, 2.5, 3, 1.5]
plt.plot(df)

Теперь приведенный выше фрагмент кода работает довольно аккуратно для меня.

После этого примера я продвинулся вперед, чтобы построить свой кадр данных панд из новой / нескольких ячеек в AWS-EMRJupyterhub, как это:

-Cell 1-
sparkDS=spark.read.parquet('s3://bucket_name/path').cache()


-Cell 2-
from pyspark.sql.functions import *
sparkDS_groupBy=sparkDS.groupBy('col1').agg(count('*').alias('count')).orderBy('col1')
pandasDF=sparkDS_groupBy.toPandas()


-cell 3-
%matplotlib inline
import matplotlib
import matplotlib.pyplot as plt

plt.plot(pandasDF)

Мой код просто не работает в ячейке 3 со следующей ошибкой:

NameError: имя 'pandasDF' не определено

Кто-нибудь знает, что не так?

Почему новая ячейка в моем блокноте jupyterhub не может распознать переменную из предыдущей ячейки?

Неужели это так?нужно что-то сделать с помощью волшебной команды «% matplotlib inline» (я пробовал также с «% matplotlib notebook», но не получилось)?

ps: я использую AWS 5.19 EMR-Jupyterhub для настройки своих графиковработа.

Эта ошибка кind примерно такой же, но не дубликат Как мне заставить matplotlib работать в ноутбуке AWS EMR Jupyter?

...