如何在Azure Synapse的R笔记本中保存ggplot绘图?
在Azure Synapse R笔记本中保存ggplot到挂载Blob存储的解决方法
问题核心:ggsave()是R本地文件系统操作函数,无法直接写入Spark挂载的file:/路径,需要先保存到节点本地临时目录,再通过mssparkutils完成文件转移。
具体操作步骤
- 用
ggsave()将绘图保存到Synapse计算节点的本地临时路径(比如/tmp/目录,默认具备读写权限) - 使用
mssparkutils.fs.cp()将本地临时文件复制到已挂载的Blob存储路径
代码示例
# 1. 创建示例ggplot绘图 library(ggplot2) plot <- ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point() # 2. 保存到本地临时路径 ggsave("/tmp/my_plot.png", plot = plot, width = 6.67, height = 6.67) # 3. 复制到挂载的Blob存储路径(替换为你的实际挂载路径) mssparkutils.fs.cp("file:/tmp/my_plot.png", "/{mount_path}/local/my_plot.png")
验证方式
执行复制命令后,运行mssparkutils.fs.ls("/{mount_path}/local/")查看目标路径,即可找到保存的图片文件。
内容的提问来源于stack exchange,提问作者whirlpool
相关产品推荐
相关产品推荐

