интеграция pyspark matplotlib с Zeppelin

#python #matplotlib #pyspark #apache-zeppelin

#python #matplotlib #pyspark #apache-zeppelin

Вопрос:

Я пытаюсь нарисовать гистограмму с помощью pyspark в записной книжке Zeppelin. Вот что я пробовал до сих пор,

 %pyspark

import matplotlib.pyplot as plt
import pandas
...
x=dateDF.toPandas()["year(CAST(_c0 AS DATE))"].values.tolist()
y=dateDF.toPandas()["count(year(CAST(_c0 AS DATE)))"].values.tolist()
plt.plot(x,y)
plt.show()
 

Этот код выполняется без ошибок, но это не дает ожидаемого графика. Итак, я погуглил и нашел этот документ,
введите описание изображения здесь

В соответствии с этим я попытался включить флаг angular следующим образом,

 x=dateDF.toPandas()["year(CAST(_c0 AS DATE))"].values.tolist()
y=dateDF.toPandas()["count(year(CAST(_c0 AS DATE)))"].values.tolist()
plt.close()
z.configure_mpl(angular=True,close=False)
plt.plot(x,y)
plt.show()
 

Но теперь я получаю сообщение об ошибке, No module named 'mpl_config' и я понятия не имею, как включить angular без этого. Если вы можете предложить, как решить эту проблему, это будет значительно оценено

Ответ №1:

После некоторого времени я заметил, что это серьезная ошибка в ноутбуке Zepplien, отмеченная в ноябре 2020 года @Ruslan Dautkhanov. По его словам,

mpl_config является частью ядра Zeppelin. Старый интерпретатор Python копировал его вручную здесь https://github.com/apache/zeppelin/blob/0d746fa2e2787a661db70d74035120ae3516ace3/python/src/main/java/org/apache/zeppelin/python/PythonInterpreter.java#L179

Но новый IPythonInterpeter этого не делает.

Я надеюсь, что это решит проблему в будущем и сохранит вопрос для будущих ссылок

Комментарии:

1. У меня такая же проблема. Как вы это решили?

2. @SimranSingh Я использовал jupyter notebook и выполнил часть построения