咨询:Azure Data Factory发布的AWS S3数据集无法在Databricks访问
解答
不是唯一方式,你可以直接在Azure Databricks中配置连接访问AWS S3,无需先转存到ADLS,具体实现方式如下:
方法1:配置AWS凭证并直接读取S3数据
在Databricks Notebook中通过Databricks Secrets安全存储AWS访问密钥,避免硬编码:
# 配置S3访问凭证(使用Databricks Secrets) spark.conf.set("fs.s3a.access.key", dbutils.secrets.get(scope="your-aws-secret-scope", key="aws-access-key-id")) spark.conf.set("fs.s3a.secret.key", dbutils.secrets.get(scope="your-aws-secret-scope", key="aws-secret-access-key")) # 直接读取S3中的数据 df = spark.read.parquet("s3a://your-s3-bucket/path/to/data") df.show()
方法2:将S3存储挂载到DBFS
通过挂载命令把S3桶挂载到Databricks文件系统(DBFS),之后可像访问本地路径一样操作数据:
dbutils.fs.mount( source="s3a://your-s3-bucket/path", mount_point="/mnt/s3-mount", extra_configs={ "fs.s3a.access.key": dbutils.secrets.get(scope="your-aws-secret-scope", key="aws-access-key-id"), "fs.s3a.secret.key": dbutils.secrets.get(scope="your-aws-secret-scope", key="aws-secret-access-key") } ) # 读取挂载路径下的数据 df = spark.read.csv("/mnt/s3-mount/data.csv")
相关官方文档参考
- Azure Databricks 连接 AWS S3 官方指南
- Databricks Secrets 安全管理文档
- DBFS 挂载云存储操作手册
内容的提问来源于stack exchange,提问作者random23
相关产品推荐
相关产品推荐

