You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Databricks中R Notebook调用Azure存储模块问题及操作咨询

在Databricks R Notebook中访问ADLS文件的实操步骤

1. 先解决azure模块找不到的坑

你之前用%sh装azure-storage-blob是装到shell环境里了,但R调用Python时用的是Databricks自带的Python环境,得用reticulate直接给这个环境装包:

library(reticulate)
py_install("azure-storage-blob", envname = "r-reticulate")

装完记得重启Notebook内核,不然模块还是加载不到。

2. 获取指定路径的文件列表

假设你已经有存储账户的连接信息(账户名、密钥或SAS令牌),直接用下面的代码就能拿到目标路径下的所有文件:

library(reticulate)

# 导入azure存储模块
BlobServiceClient <- import("azure.storage.blob$BlobServiceClient")

# 用账户密钥初始化客户端,替换成你的信息
account_url <- "https://<你的存储账户名>.blob.core.windows.net/"
account_key <- "<你的存储账户密钥>"
conn_str <- paste0("DefaultEndpointsProtocol=https;AccountName=<你的存储账户名>;AccountKey=", account_key)
client <- BlobServiceClient$from_connection_string(conn_str)

# 拿到容器客户端
container_client <- client$get_container_client("<你的容器名>")

# 筛选指定前缀(也就是路径)的文件,比如"raw_data/2024/"
blobs <- container_client$list_blobs(name_starts_with = "raw_data/2024/")

# 打印所有文件名
for (blob in blobs) {
  cat(blob$name, "\n")
}

如果用SAS令牌,把连接字符串换成:

sas_token <- "<你的SAS令牌>"
conn_str <- paste0("DefaultEndpointsProtocol=https;AccountName=<你的存储账户名>;SASToken=", sas_token)

3. 把文件加载到R里

拿到文件名后,直接用Databricks的ABFSS路径读取就行,比如读CSV:

for (blob in blobs) {
  # 构造完整的ABFSS路径
  file_path <- paste0("abfss://<容器名>@<存储账户名>.dfs.core.windows.net/", blob$name)
  # 读取成R数据框
  df <- read.csv(file_path)
  # 这里加你的数据处理逻辑
  print(head(df))
}

要是习惯用pandas,也可以通过reticulate调用Python读取再转成R数据框:

pd <- import("pandas")
for (blob in blobs) {
  file_path <- paste0("abfss://<容器名>@<存储账户名>.dfs.core.windows.net/", blob$name)
  py_df <- pd$read_csv(file_path)
  r_df <- as.data.frame(py_df)
  # 处理数据
}

4. 关于你用的py_list_attributes

这个工具可以直接对着容器客户端或单个blob对象用,快速查看可用的方法和属性:

# 查看容器客户端的所有可用方法
py_list_attributes(container_client)
# 查看单个blob的属性和方法
sample_blob <- container_client$get_blob_client("raw_data/2024/sample.csv")
py_list_attributes(sample_blob)

比如你能找到download_blob方法,可以直接把blob内容下载到Databricks的DBFS里。

内容的提问来源于stack exchange,提问作者tomsu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 14:40:15