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

如何在Azure ML RStudio中从Azure Data Lake存储账户读取数据文件

在Azure ML RStudio中读取Azure Data Lake存储文件

既然已经通过服务主体完成认证,且能正常上传/下载文件,直接利用AzureStor包的方法即可读取ADLS中的文件,以下是具体操作:

1. 确认已连接到存储账户/文件系统

先确保你已经获取到ADLS的文件系统对象(如果之前上传下载时已经创建过,直接复用即可):

# 加载已安装的包
library(AzureAuth)
library(AzureStor)

# 复用之前的服务主体认证(如果会话未过期)
# 若需要重新认证,使用:
# token <- get_azure_token("https://storage.azure.com/", tenant="你的租户ID", app="你的服务主体ID", password="你的服务主体密钥")

# 获取存储账户的端点
adls_endpoint <- storage_endpoint("https://<你的存储账户名>.dfs.core.windows.net/", token=token)

# 获取目标文件系统(即ADLS容器)
fs <- storage_filesystem(adls_endpoint, "<你的容器名>")

2. 读取不同类型的文件

根据你要读取的文件类型,选择对应的R函数结合AzureStor的文件读取方法:

读取CSV文件

# 先获取文件的连接对象
csv_con <- storage_download(fs, "<文件路径/文件名.csv>", dest=NULL)
# 读取为数据框
csv_data <- read.csv(csv_con)
# 关闭连接
close(csv_con)

读取Parquet文件(需安装arrow包)

library(arrow)
parquet_con <- storage_download(fs, "<文件路径/文件名.parquet>", dest=NULL)
parquet_data <- read_parquet(parquet_con)
close(parquet_con)

读取Excel文件(需安装readxl包)

library(readxl)
# 将文件临时保存到本地会话临时目录
temp_file <- tempfile(fileext = ".xlsx")
storage_download(fs, "<文件路径/文件名.xlsx>", dest=temp_file)
excel_data <- read_excel(temp_file)
# 删除临时文件
file.remove(temp_file)

3. 直接读取大文件(流式处理)

如果文件过大,不想完全下载到本地,可直接流式读取:

# 以CSV为例,用readr包流式读取
library(readr)
stream_con <- storage_download(fs, "<大文件路径.csv>", dest=NULL)
stream_data <- read_csv(stream_con, progress = TRUE)
close(stream_con)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 11:37:01