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

如何在ADF中向Gen2 CSV写入数据时过滤{CR}字符

解决方案:ADF CopyData 处理CR字符过滤与多格式文件输出

一、过滤源字符串中的CR字符

针对源字段含有的CR(\r)字符,可通过两种方式处理:

1. 源查询直接处理(适用于SQL类数据源)

如果源是数据库,直接在查询语句中替换CR字符,以SQL Server为例:

SELECT 
  REPLACE(target_string_column, CHAR(13), '') AS cleaned_column,
  other_required_columns
FROM your_source_table

CHAR(13)对应CR字符,用空字符串替换即可完成过滤。

2. 数据流(Data Flow)清洗(兼容多数据源)

若源查询无法直接处理,或需要更复杂的清洗逻辑,用数据流实现:

  • 添加Derived Column转换,对目标字段编写表达式:
replace(target_string_column, '\r', '')
  • 清洗完成后,将数据流接入CopyData活动写入Gen2。

二、确保输出CSV使用LF作为行分隔符

在Gen2目标数据集的配置中:

  1. 选择CSV格式后,进入「格式设置」
  2. 将「行分隔符」设置为\n(LF)
  3. 同步确认列分隔符等其他格式参数符合需求

三、生成多种不同行格式的文件

根据场景选择两种实现方式:

1. 多分支CopyData并行处理

若各格式的数据源逻辑相似,仅输出字段/格式不同:

  • 添加Foreach活动,遍历预先定义的格式配置数组(例如包含字段列表、输出路径、格式参数的JSON)
  • 每个Foreach分支内配置独立的CopyData活动:
    • 源端:用动态内容@item().column_list构建字段查询
    • 目标端:通过@item().output_path动态设置输出路径,同时配置对应格式的行/列分隔符等参数

2. 数据流分路输出多文件

若需从同一份清洗后的数据生成多格式文件:

  • 在数据流中添加Conditional Split转换(或直接分路),按格式规则拆分数据
  • 每个分路后接入Sink转换,分别配置不同的Gen2输出路径与CSV格式参数
  • 管道中用Execute Data Flow活动运行该数据流,一次性生成所有格式文件

注意事项

  • CR过滤验证:抽取少量数据后,用Notepad++等工具查看是否仍存在\r字符
  • 动态参数管理:所有动态配置的参数(如字段列表、输出路径)需提前在管道参数中定义,避免硬编码
  • 性能优化:大数据量并行处理时,需注意Gen2的写入并发限制,避免触发限流

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 05:45:32