Динамический разбор правил Deequ из csv/таблицы

Я использую библиотеку 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.


person Riyan Mohammed    schedule 18.03.2020    source источник
comment
На аналогичный вопрос уже был дан ответ здесь: функция добавления проверок в инфраструктуру amazon deequ"> stackoverflow.com/questions/60727853/   -  person Philipp    schedule 06.04.2020