Разбор правил Deequ из csv / таблицы динамически - PullRequest
0 голосов
/ 18 марта 2020

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

Таким образом ... если в таблице есть новое ограничение, содержащее в себе Email, мне не нужно возвращаться к своему коду и отдельно пишите логи синтаксического анализа c, чтобы перевести строку содержит адрес электронной почты в ограничение содержит адрес электронной почты.

...