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

Azure Data Factory数据流:如何查看派生列输出类型并解决Snowflake类型错误

查看派生列实际类型的方法及问题排查

查看派生列实际类型的几种方式

  • 借助ETL工具的预览/元数据功能
    如果使用Azure Synapse Data Flow这类工具,直接打开数据预览(Data Preview),选中包含派生列的数据流步骤,右侧列详情面板会显示该列的实际数据类型和长度。如果是Spark环境,直接打印DataFrame的Schema:

    df.printSchema()
    
  • 临时写入测试表后查询Snowflake元数据
    将包含派生列的数据临时写入Snowflake测试表,执行以下SQL查询列的实际类型:

    SELECT DATA_TYPE, CHARACTER_MAXIMUM_LENGTH
    FROM INFORMATION_SCHEMA.COLUMNS
    WHERE TABLE_SCHEMA = 'YOUR_SCHEMA'
      AND TABLE_NAME = 'TEST_TABLE'
      AND COLUMN_NAME = 'YOUR_DERIVED_COLUMN';
    
  • 分析表达式的返回逻辑
    sha2(256, 'my data')生成64位十六进制字符串(对应32字节二进制数据),若toBinary()是将十六进制字符串解析为二进制,结果应为32字节BINARY类型;若工具的toBinary是直接将字符串按字符编码转二进制,结果会是64字节BINARY类型——这两种情况都可能和目标列BINARY(64)产生匹配问题。

关于DF-Snowflake-InvalidDataT错误的建议

该错误大概率是数据类型/长度不匹配导致的:

  • 如果派生列实际是32字节BINARY,建议将Snowflake目标列调整为BINARY(32);
  • 如果工具的toBinary行为不符合预期,可尝试用hex_decode_string(部分工具支持)替代toBinary,确保输出为32字节二进制数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 11:35:24