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

Synapse Spark中使用挂载路径读取ADLS Gen2文件报错的解决咨询

在Synapse Spark中通过挂载路径读取ADLS Gen2文件的解决办法

问题原因

Synapse中workspace范围的ADLS Gen2挂载,Python的os模块可以直接访问挂载的本地路径,但Spark的文件系统抽象默认会将本地路径解析为ADLS的abfss路径,导致报错。

解决方法

  • 强制使用本地文件系统路径
    在挂载路径前添加file://前缀,让Spark跳过ADLS路径解析,直接访问集群挂载的文件系统:

    df = spark.read.format('csv').load('file:///path/to/file')
    

    注意这里是三个斜杠:file://协议前缀后紧跟绝对挂载路径。

  • 全局配置Spark默认文件系统(可选)
    如果希望所有Spark操作都默认使用本地挂载路径,可以在会话中设置fs.defaultFS参数:

    spark.conf.set("fs.defaultFS", "file:///")
    

    配置后直接使用挂载路径即可读取:

    df = spark.read.format('csv').load('/path/to/file')
    

    此设置会影响所有Spark文件操作,需根据业务场景确认是否适用。

  • 验证路径有效性
    用Spark的文件系统工具确认路径可访问:

    dbutils.fs.ls('file:///path/to/file/directory')
    

    若能正常列出文件,说明路径配置无误。

注意事项

  • 使用file://路径时,确保挂载路径在所有Spark集群节点上都可见,因为Spark是分布式执行框架,每个executor都需要能访问目标文件。
  • 确认ADLS文件的权限设置正确,避免出现权限不足导致的读取失败。

内容的提问来源于stack exchange,提问作者Carlos Garcia-Vaso

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 06:23:20