CSV执行copy activity报DelimitedTextMoreColumnsThanDefined错误的配置问题
配置方案
报错原因
该报错是由于CSV中存储JSON的字段内部包含逗号,且双引号转义规则未正确配置,导致解析器误将JSON内部的逗号识别为列分隔符,最终识别到的列数超过预先定义的列数。
源端配置(分隔文本读取设置)
- 列分隔符:选择逗号
, - 引号字符:设置为双引号
" - 转义字符:设置为双引号
"
该配置匹配你提供的JSON样本的转义规则:JSON字段外层用双引号包裹,字段内部的双引号通过连续两个双引号实现转义,完全符合RFC 4180 CSV标准规范 - 首行作为表头:根据你的CSV文件是否包含表头行自主选择开启或关闭
Sink端配置(如果输出为CSV文件)
和源端配置完全保持一致即可,避免写出文件时出现格式错乱:
- 列分隔符:逗号
, - 引号字符:双引号
" - 转义字符:双引号
" - 可选优化:将引号模式设置为「必要时添加」,系统会自动给包含逗号、引号等特殊字符的字段外层加双引号,避免后续解析出现同类问题。
异常排查建议
如果调整配置后仍然报错,可单独提取包含JSON字段的单行样本数据,检查是否存在异常的未转义双引号,确认JSON字段外层被完整的双引号包裹、内部所有双引号都通过两个连续双引号完成转义。
内容的提问来源于stack exchange,提问作者Tony
相关产品推荐
相关产品推荐

