繁体   English   中英

使用 pdf() function 在 R 数据块中创建的 pdf 个文件未在 Azure Blob 存储中创建

[英]pdf files created in R databricks using pdf() function are not getting created in Azure Blob storage

我尝试了这两种代码,但是 pdf 文件没有在 Azure Blob 存储中创建,R 也没有抛出任何错误。 我已经在 dbfs 中安装了 blob 并使用它。 Delta,csv,使用相同的安装路径创建和存储文本文件没有任何问题。

代码-1

df = data.frame(matrix(rnorm(400), nrow=100))
dfplot = ggplot(df, aes(x=X1,X2))+geom_point()
pdf('/dbfs/mnt/blobstorage/test.pdf')
print(dfplot)
dev.off()

代码-2

install.packages('quantmod')
library(quantmod)

gs <-function(f) {
    csv <- read.csv(text="s,n\nF,Ford\nV,Visa", header=TRUE, stringsAsFactors=FALSE)
    symVec <- getSymbols(as.vector(csv$s))
    infoVec <- mapply(paste, csv$s, csv$n, sep=": ") # eg. "F: Ford"
    pdf("/dbfs/mnt/blobstorage/test.pdf")
    par(mfrow=c(5,7))
    print(mapply (chart_Series, mget(symVec), name=infoVec))
    dev.off()
}

main <- function() {
    # get symbols, create pdf
    gs(f)
}

if(!interactive()) {
    main()
}

我已经能够通过以下解决方法来做到这一点:1)将 pdf 文件写入临时目录 2)将文件复制到 DBFS 目录。

dir_Temp <- tempdir()
print(dir_Temp)

setwd(dir_Temp)
X1 <- rnorm(100)
X2 <- rnorm(100)
pdf('test3.pdf')
plot(X1, X2)
dev.off()

file.copy(from = paste0(dir_Temp, "/", "test3.pdf"), 
          to = "/dbfs/FileStore/test_Databricks/test3.pdf")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM