Azure Dataflow已执行Sink转换后,如何修改生成的CSV文件?
在Azure Dataflow中删除CSV文件含NULL值行的操作方案
方案一:无需新增数据源(推荐)
直接在现有合并Excel到CSV的数据流 pipeline 中添加清理步骤,避免重复读写,流程更高效:
- 在Sink(输出CSV)之前插入「筛选行」转换:
- 点击数据流画布的+号,添加「筛选行」转换并连接到合并Excel后的数据集
- 按业务需求设置筛选规则:
- 若需所有字段无NULL:
ISNOTNULL(字段名1) && ISNOTNULL(字段名2) && ... - 若需任意字段无NULL:
ISNOTNULL(字段名1) || ISNOTNULL(字段名2) || ...
- 若需所有字段无NULL:
- 将筛选后的数据集连接到原Sink,直接输出清理后的CSV文件
方案二:基于已生成的CSV处理(需新增数据源)
如果已完成CSV生成,必须基于现有文件处理时,才需要创建第二个数据源:
- 创建第二个数据源,指向已生成的CSV文件
- 添加「筛选行」转换,按方案一的规则设置筛选条件,剔除含NULL的行
- 新增Sink输出清理后的CSV(注意避免误覆盖原文件,可提前备份)
- 执行顺序:串行,因为必须等待第一个数据流完成CSV写入,第二个数据源才能读取到完整文件;若在同一作业中,需确保第一个Sink执行完成后再触发后续读取和处理
关键提示
- 优先选择方案一,减少不必要的磁盘IO操作,提升整体处理效率
- 筛选条件需结合实际业务场景调整,明确是检查特定字段还是全字段无NULL
内容的提问来源于stack exchange,提问作者Serdia
相关产品推荐
相关产品推荐

