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

Great Expectations中Snowflake数据源大小写敏感表/列名配置问题

问题:Great Expectations对接Snowflake时列名大小写不匹配问题

现象说明

  • 使用Great Expectations 0.15.41校验Snowflake数据源时,仅当column参数为小写(即便原列名是大写)时校验才生效。
  • 有效配置示例:
"expectations": [
    {
        "expectation_type": "expect_column_values_to_be_unique",
        "kwargs": {
            "column": "email"
        }
    }
]
  • 若column写为大写EMAIL,会触发报错:
great_expectations.exceptions.exceptions.MetricResolutionError: Error: The column "EMAIL" in BatchData does not exist.
  • 当前Data Context核心配置:
{
  "datasources": {
    "my_datasource": {
      "class_name": "Datasource",
      "module_name": "great_expectations.datasource",
      "execution_engine": {
        "class_name": "SqlAlchemyExecutionEngine",
        "connection_string": "snowflake://..."
      },
      "data_connectors": {
        "configured_asset_data_connector": {
          "class_name": "ConfiguredAssetSqlDataConnector",
          "assets": {
            "my_table_asset": {
              "table_name": "SOME_TABLE",
              "schema_name": "PUBLIC"
            }
          }
        }
      }
    }
  },
  "stores": {...}
}

解决方法:配置use_quoted_name参数

设置use_quoted_name: True可保留表/列名的原始大小写,有两种配置方式:

1. 单个表资产级配置

针对特定表资产添加参数,修改后的assets块:

"assets": {
  "my_table_asset": {
    "table_name": "SOME_TABLE",
    "schema_name": "PUBLIC",
    "use_quoted_name": true
  }
}

2. Data Connector全局配置

如果所有关联资产都需要保持大小写,直接在Data Connector层级添加参数:

"data_connectors": {
  "configured_asset_data_connector": {
    "class_name": "ConfiguredAssetSqlDataConnector",
    "use_quoted_name": true,
    "assets": {
      "my_table_asset": {
        "table_name": "SOME_TABLE",
        "schema_name": "PUBLIC"
      }
    }
  }
}

配置完成后,Great Expectations会使用带引号的标识符访问Snowflake的表和列,此时用大写EMAIL作为column参数即可正常执行校验。

内容的提问来源于stack exchange,提问作者Joaquín L. Robles

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 19:20:35