从 R 笔记本访问 Azure blob 存储

Access Azure blob storage from R notebook

在 python 这就是我从 Azure blob 访问 csv 的方式

storage_account_name = "testname"
storage_account_access_key = "..."
file_location = "wasb://example@testname.blob.core.windows.net/testfile.csv"

spark.conf.set(
  "fs.azure.account.key."+storage_account_name+".blob.core.windows.net",
  storage_account_access_key)

df = spark.read.format('csv').load(file_location, header = True, inferSchema = True)

我如何在 R 中执行此操作?我找不到任何文档...

AzureStor 包提供了一个到 Azure 存储的 R 接口,包括文件、blob 和 ADLSgen2。

endp <- storage_endpoint("https://acctname.blob.core.windows.net", key="access_key")
cont <- storage_container(endp, "mycontainer")
storage_download(cont, "myblob.csv", "local_filename.csv")

请注意,这将下载到本地存储中的文件。从那里,您可以使用标准的 Sparklyr 方法摄取到 Spark。

免责声明:我是 AzureStor 的作者。

如果你不想下载它,创建一个临时文件然后从中读取

   endp <- storage_endpoint("https://acctname.blob.core.windows.net", key="access_key")
   cont <- storage_container(endp, "mycontainer")
   fname <- tempfile()
   storage_download(cont, "myblob.csv", fname)
   df = read.csv(fname)