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

如何通过Azure Data Factory拆分空格分隔CSV列并导入数据仓库?

解决Azure Data Factory数据流拆分多空格分隔CSV列报错问题

问题场景

  • 数据源:400万行CSV文件,列间以9/10/11个连续空格分隔
  • 需求:将单列数据拆分为两列后导入数据仓库
  • 问题:使用ADF数据流默认拆分列功能时报错

解决方案

方案1:派生列+正则表达式拆分

在源转换后添加派生列组件,通过正则匹配可变数量的空格拆分数据:

  • 生成第一列(假设源列名为raw_content):
    regexp_extract(raw_content, '^(.*?)\\s{9,11}', 1)
    
  • 生成第二列:
    regexp_extract(raw_content, '\\s{9,11}(.*)$', 1)
    
    说明:\\s{9,11}精准匹配9-11个连续空格,(.*?)非贪婪捕获第一列内容,(.*)$捕获第二列剩余内容

方案2:拆分列转换自定义正则分隔符

  1. 添加拆分列转换,选择要拆分的源列
  2. 分隔符类型选择自定义,输入正则表达式:\s{9,11}
  3. 勾选正则表达式选项,设置拆分后生成2列并指定列名

大数据量处理注意事项

  • 源数据集开启分区优化,按文件大小或行数分区读取,避免单节点负载过高
  • 调试阶段先设置数据预览行数限制(如1000行)验证正则规则,确认无误后再全量运行
  • 目标数据仓库(如Synapse)开启批量插入,调整批量大小提升导入效率

相关附件

  • CSV示例:

订单ID001 订单金额1234.56(10个空格分隔)
用户ID002 用户等级VIP(9个空格分隔)

  • 数据流配置截图:
    数据流拆分列配置
  • 报错截图:
    拆分列报错信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 03:20:32