1

我在尝试通过处理本地 Pycharm 指向 Azure Databricks 集群的 Kmeans Elbow 方法将 Matplotlib 图存储在 Azure Data Lake Store Gen2 中时遇到问题。

对于下面的 ML 代码示例,我收到了错误消息。

弯头曲线:

import matplotlib.pyplot as plt

plt.savefig(graph_path, bbox_inches='tight')

找不到类 shaded.databricks.azurebfs.org.apache.hadoop.fs.azurebfs.SecureAzureBlobFileSystem。OSError:[Errno 22] 无效参数:'abfss://cluster-container@project.dfs.core.windows.net/project/output/Elbow-Curve-20210325-222650.png'

注意:当指向本地 spark 和本地文件夹结构时,代码运行没有任何问题,问题在于 Databricks 或 Azure Data Lake Store Gen2。

任何帮助深表感谢!

4

1 回答 1

1

Matplotlib 对 ADLS 一无所知 - 它旨在与本地文件系统一起使用。因此,要将图像存储在 ADLS 上,您需要执行以下操作:

  1. 将图像存储在驱动程序的本地文件系统中,例如,/tmp/my-image.png
  2. dbutils.fs.cp使用命令将图像复制到 ADLS 中,如下所示(有关详细信息,请参阅文档):
dbutils.fs.cp("file:/tmp/my-image.png", graph_path)
于 2021-03-26T09:39:13.757 回答