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

如何在Azure Data Factory中实现列名与数据类型验证?

Azure Data Factory 管道验证机制实现方案

一、必填列头缺失校验

  • 使用Lookup活动读取目标Excel文件的第一行列头:勾选第一行作为表头和First row only选项,获取文件的列头集合。
  • 创建数组类型变量requiredColumns,通过Set Variable活动赋值为必填列名数组,例如["A", "B", "E"]。
  • 用Filter Array活动筛选缺失的必填列:输入数组选择requiredColumns,过滤条件设为@not(contains(activity('Lookup列头').output.firstRow, item())),输出结果即为所有缺失的必填列。
  • 添加If Condition活动判断结果:若过滤后的数组长度大于0(@greater(length(activity('Filter Array').output), 0)),触发Fail活动返回错误提示,示例消息:@concat('缺失必填列:', join(activity('Filter Array').output, ', '))。

二、数据映射流逐行数据类型校验

  • 在数据映射流中配置源数据集,选择目标Excel文件,确认列类型推断设置正确。
  • 添加派生列转换,为需校验的列生成类型校验标记:
    • 数值型列A:派生列A_TypeCheck,表达式为@isNumber(A),返回布尔值标识类型是否合法。
    • 日期时间型列B:派生列B_TypeCheck,表达式为@isDateTime(B),返回布尔值标识类型是否合法。
  • 添加Filter转换,筛选类型校验失败的行:过滤条件设为@or(not(A_TypeCheck), not(B_TypeCheck)),仅保留校验不通过的行。
  • 处理失败行:
    • 若需返回错误提示:将失败行写入Blob存储的错误日志文件,在管道中用Lookup活动读取日志行数,再通过Fail活动返回提示,示例:@concat('数据类型校验失败行数:', string(activity('Lookup错误日志').output.count), ',详情请查看错误日志')。
    • 若需留存错误数据:将失败行与成功行分别输出至不同数据集,实现数据分流存储。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 01:40:25