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

在Azure Databricks中使用COPY INTO处理abfss路径空格问题

解决Databricks COPY INTO路径含空格的URISyntaxException错误

遇到路径中包含空格导致的URISyntaxException,不用非要修改文件夹名称,以下两种方法可以解决问题:

方法1:用双引号包裹路径字符串

将路径的单引号替换为双引号,直接保留空格即可:

COPY INTO prod_gbs_gpdi.bronze_data.my_table
FROM "abfss://gpdi-files@hgbsprodgbsflastorage01.dfs.core.windows.net/RAW/AP Posted/"
FILEFORMAT = CSV
VALIDATE 500 ROWS
PATTERN = 'AP_SAPEX_KPI_001 - Posted Invoices in 2021_3.CSV'
FORMAT_OPTIONS(
    'header'='true', 
    'delimiter'=';', 
    'skipRows'='8', 
    'mergeSchema'='true',
    'encoding'='UTF-8', 
    'enforceSchema'='true',
    'ignoreLeadingWhiteSpace'='true',
    'ignoreTrailingWhiteSpace'='true',
    'mode'='PERMISSIVE'
)
COPY_OPTIONS (
    'force' = 'true',
    'mergeSchema'= 'true'
)

方法2:单引号内用反斜杠转义空格

如果坚持用单引号,在空格前添加反斜杠转义:

COPY INTO prod_gbs_gpdi.bronze_data.my_table
FROM 'abfss://gpdi-files@hgbsprodgbsflastorage01.dfs.core.windows.net/RAW/AP\ Posted/'
-- 其余代码保持不变

为什么%20替换无效?

Databricks的COPY INTO语句在解析路径时,会将%20当作路径的字面字符处理,而不会自动解码为空格,因此会找不到对应文件夹,这就是替换后仍报错的原因。

是否必须避免文件夹命名用空格?

不是必须,但建议尽量避免——空格容易引发路径解析类问题,增加调试成本。如果无法修改现有文件夹名称,使用上述两种方法即可正常执行导入操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:25:31