Azure Synapse管道中CSV与汇总文件行数对比及组件咨询
Azure Synapse管道行数对比场景所需组件及实现逻辑
核心组件清单
- Get Metadata 活动:用来读取Blob存储中文件的行数。给目标CSV文件和汇总文件各配置一个该活动,在活动的「字段列表」里勾选
rowCount即可获取对应文件的总行数。 - Set Variable 活动(可选但推荐):把两个Get Metadata拿到的行数分别存入自定义变量(比如
csv_row_count和summary_row_count),后续对比时引用更直观。 - If Condition 活动:作为分支判断的核心,设置条件表达式判断两行数是否相等,示例表达式:
@equals(variables('csv_row_count'), variables('summary_row_count'))。 - Fail 活动:在If Condition的「不匹配分支」中配置,触发后直接终止管道,还能自定义失败提示信息,比如
@concat('行数校验失败:CSV文件行数为', variables('csv_row_count'), ',汇总文件行数为', variables('summary_row_count'))。
执行流程
- 先启动两个Get Metadata 活动,分别读取CSV文件和汇总文件的行数。
- (可选)用Set Variable 活动将两行数结果存入变量,提升流程可读性。
- 接入If Condition 活动做判断:
- 行数匹配:继续执行后续的业务流程(比如数据转换、入库等操作)。
- 行数不匹配:触发Fail 活动,终止当前管道并输出预设的错误信息。
关键注意点
- 如果CSV文件包含表头,需要在统计后手动减去1行(比如用表达式
@sub(variables('csv_row_count'), 1)),确保和汇总文件的统计逻辑对齐。 - 所有活动都要配置正确的Blob存储链接服务,指向目标文件所在的容器和路径。
内容的提问来源于stack exchange,提问作者Dan Wang
相关产品推荐
相关产品推荐

