在Great Expectations中如何同时校验列名与列数据类型?
解决方案:使用
expect_table_columns_to_match_schema规则 你要找的正是Great Expectations中的expect_table_columns_to_match_schema规则,它可以一次性完成列名集合校验和对应数据类型的校验,完全避免重复编写列名的冗余操作。
具体用法示例
假设你需要校验列a: string, b: int, c: boolean,直接传入结构化的schema参数即可:
# 使用Python API调用 validator.expect_table_columns_to_match_schema( schema={ "a": {"type": "string"}, "b": {"type": "int"}, "c": {"type": "boolean"} } )
规则说明
- 列名校验:会自动校验表中存在且仅包含schema里定义的所有列,效果等同于
expect_table_columns_to_match_set的列名校验逻辑。 - 数据类型校验:对每个列逐一校验其数据类型是否与schema中指定的类型匹配,替代了多次调用
expect_column_values_to_be_of_type的繁琐操作。
类型适配提示
如果你的数据源使用特定类型体系(比如Pandas的dtype、SQL原生类型),可以调整type字段的值适配对应类型,例如Pandas中用"object"代表字符串类型,SQL中用"VARCHAR"对应字符串。
内容的提问来源于stack exchange,提问作者THIS USER NEEDS HELP
相关产品推荐
相关产品推荐

