我正在使用 amazon deequ 库并尝试从 csv 或 mysql 表中传递规则。我的 csv 文件将包含具有如下值的列
rules_column
-------------------------------------------------------------------------
.hasCompleteness("column1", _ >= 0.86, Some("It should be above 0.86!"))
.hasDataType("colm2", ConstrainableDataTypesIntegral)
.isComplete("column3")
.isContainedIn("column1", Array("R", "M", "A", "L"))
.isNonNegative("col7")
我正在尝试查找是否有办法将此字符串列直接转换为约束。这是我正在尝试做的伪代码。
var check = Check(CheckLevel.Error, "Data Validation Check")
for (constrain <- rules_column){
check = check + constrain } // constrain is a string here
这样......如果表中有一个新的约束说 containsEmail,我不必回到我的代码并单独编写解析逻辑来将 containsEmail 字符串转换为 containsEmail 约束。