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

如何用Databricks COPY INTO批量导入Azure Blob文件夹CSV至Delta表

解决Databricks COPY INTO批量导入文件夹下分片CSV的问题

修改后的COPY INTO代码

直接将FROM子句中的单个文件路径替换为文件夹路径即可,COPY INTO会自动读取该文件夹下所有符合格式的CSV文件,无需遍历文件列表:

f"""COPY INTO {schema_name}.{table_name}
FROM (SELECT {', '.join([f"_c{i}::{column[1]} {column[0]}" for i, column in enumerate(columns)])}
      FROM '{blob_url}/{csv_folder_path}')
FILEFORMAT = CSV
FORMAT_OPTIONS ('sep' = '|',
                'header' = 'false')
-- 可选:如果需要递归读取子文件夹中的文件,添加以下配置
COPY_OPTIONS ('recursive' = 'true');"""

关键说明

  • 路径规则:无需在路径末尾加*,直接指定存放所有分片CSV的文件夹路径即可,COPY INTO默认会扫描该文件夹下所有非隐藏的CSV文件
  • 递归读取:如果分片文件存放在子文件夹中,添加COPY_OPTIONS ('recursive' = 'true')即可递归读取所有层级的文件
  • 结构一致性:确保所有分片CSV的列顺序、分隔符等格式完全一致,否则会导致数据解析错误
  • 原有映射逻辑保留:因为所有分片结构相同,原有的_c{i}::{column[1]} {column[0]}列映射逻辑无需修改,依然可以正确将每个文件的列转换为目标Delta表的字段

验证方式

执行命令后,可以通过以下语句验证导入的数据量是否符合预期:

SELECT COUNT(*) FROM {schema_name}.{table_name};

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 20:22:04