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

Databricks中PySpark读取Parquet路径报错问题求助

问题排查与解决

你的问题出在路径字符串首尾多了双引号。

看你生成路径的代码:

df = '"' + 'abfss://container@storageaccount.dfs.core.windows.net/bronze/folder1/folder2/' + year + '/' + month + '/"'

这里手动给路径加了首尾的",打印出来看着没问题,但实际传递给Spark的路径是包含双引号的字符串。Spark解析URI时,会把开头的"当作URI协议(scheme)的一部分,这就违反了URI的语法规则,所以报错里会出现%22(这是双引号的URL编码)。

修正方案

直接去掉首尾的双引号,Spark可以直接识别纯字符串格式的路径:

from datetime import datetime
now = datetime.now()

year = now.strftime("%Y")
month = now.strftime("%m")

# 去掉首尾的双引号,用f-string拼接更简洁
path = f'abfss://container@storageaccount.dfs.core.windows.net/bronze/folder1/folder2/{year}/{month}/'
print(path)

# 读取数据
DF = (
    spark
    .read
    .option("header", "true")
    .parquet(path)
)

这样生成的路径就是纯字符串,没有多余的引号,Spark就能正常解析URI并读取Parquet文件了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 13:48:04