Согласно моему исследованию, вы не можете напрямую сохранить вывод Matplotlib в Azure Хранилище BLOB-объектов.
Вы можете выполнить следующие шаги для сохранения вывода Matplotlib в Azure Хранилище BLOB-объектов:
Шаг 1: Сначала необходимо сохранить его в файловой системе Databrick (DBFS), а затем скопировать в Azure Хранилище BLOB-объектов.
Сохранение вывода Matplotlib в Файловая система блоков данных (DBFS): Мы используем следующую команду для сохранения выходных данных в DBFS: plt.savefig('/dbfs/myfolder/Graph1.png')
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame({'fruits':['apple','banana'], 'count': [1,2]})
plt.close()
df.set_index('fruits',inplace = True)
df.plot.bar()
plt.savefig('/dbfs/myfolder/Graph1.png')
![enter image description here](https://i.stack.imgur.com/VDOmH.png)
Шаг 2: Скопируйте файл из файловой системы Databricks в Azure Хранилище BLOB-объектов.
Существует два способа скопировать файл из DBFS в Azure Stroage Blob.
Способ 1: доступ к Azure хранилищу BLOB-объектов напрямую
доступ к Azure хранилищу BLOB-объектов напрямую путем установки «Spark.conf.set» и копирования файла из DBFS в хранилище BLOB-объектов.
spark.conf.set("fs.azure.account.key.< Blob Storage Name>.blob.core.windows.net", "<Azure Blob Storage Key>")
Используйте dbutils.fs.cp для копирования файла из DBFS в Azure Хранилище BLOB-объектов:
dbutils.fs.cp('dbfs:/myfolder/Graph1.png', 'wasbs://<Container>@<Storage Name>.blob.core.windows.net/Azure')
![enter image description here](https://i.stack.imgur.com/OEQbG.png)
Метод 2: Монтирование Azure Контейнеры хранилища BLOB-объектов в DBFS
Контейнер хранилища Blob или папку внутри контейнера можно подключить к файловой системе Databricks (DBFS). Монтирование - это указатель на контейнер хранения Blob, поэтому данные никогда не синхронизируются локально.
dbutils.fs.mount(
source = "wasbs://sampledata@chepra.blob.core.windows.net/Azure",
mount_point = "/mnt/chepra",
extra_configs = {"fs.azure.sas.sampledata.chepra.blob.core.windows.net":dbutils.secrets.get(scope = "azurestorage", key = "azurestoragekey")})
Используйте dbutils.fs.cp, скопируйте файл в Azure Контейнер хранения BLOB-объектов:
dbutils.fs.cp ('dbfs: /myfolder/Graph1.png', '/ dbfs / mnt / chepra')
![enter image description here](https://i.stack.imgur.com/spB44.png)
По следующим Метод 1 или 2 вы можете успешно сохранить в Azure хранилище BLOB-объектов.
![enter image description here](https://i.stack.imgur.com/Zv3a9.png)
Подробнее см. " Блоки данных - Azure Blob Storage".
Надеюсь, это поможет. Дайте нам знать, если у вас есть какие-либо дополнительные вопросы.