Skip to main content

EVL Data Quality Microservice

The EVL Data Quality microservice enables quick, easy-to-use, and cost-effective validation of datasets. Useful in situations where complex automated testing tools may be too heavy and expensive. Good candidates for the EVL Data Quality tool are ETL projects, migrations, or quick quality checks of production data.

  • Configuration via Excel or CSV files with pre-configuration option based on metadata
  • Automatic data type and null values validation
  • Setting of other validation criteria for e.g. number intervals, string lengths
  • Possibility to add complex validation functions for entity relations
  • Separating “wrong” data and logging of rejection reasons
  • Setting conditions for breaking the job flow based on percentages, number of rows …
  • Fast implementation and rapid change management
  • Low implementation and operating costs

EVL Microservices are built on top of the core EVL software and retain its flexibility, robustness, high productivity, and ability to read data from various sources; including csv files, databases–Oracle, Teradata, SQL Server, etc–and Hadoop streaming data like Kafka.

EVL Validation white paper. Function guide and examples.

Download

EVL Data Quality Functions

DataFunctionDescription
StringString lengthMin/max string length
AnyNull value checkCheck nullability of a field
StringCode PageIdentifying characters with wrong code page
DateDate IntervalSetting Min and Max date interval
DateDate FormatIdentifying non-standard date and time format
NumberNumber IntervalSetting Min and Max interval for integers, floats and decimal
SpecificEntity relation checkRelations checking between 2 or more attributes
SpecificValidation functionCalling validation functions for complex conditions

EVL Data Quality project

An EVL Data Quality project consists of following steps:

  1. unzipping EVL distribution and defining a few variables and paths
  2. filling-in an Excel or CSV file defining source type (e.g. csv, Oracle, …), table or file name and field names and validations functions to be applied
  3. automatic generation of EVL jobs for each entity
  4. running EVL jobs in a batch or individually
  5. displaying rejected files containing wrong records and logs

Example

Following example shows an implementation of a simple validation

Set variables:

# Source and target data directories DATA_SOURCE_DIR="/some/path/source" DATA_ANON_DIR="/some/path/validation"

Validation definition for files TEST1 and TEST2:

SrcEntityAttributeDatatypeNullMinMaxValidation conditionDescription
csvTEST1IDintNo05000Setting number interval
csvTEST1ACCintNoID > 500 && ACC > 3000Attribute relation
csvTEST1RCstringcheck_rc(RC)Calling custom function
csvTEST1Sexstring11substr(RC,2,2)>50 && Sex==”F”Test of sex validity based on RC
ORCLTEST2IDstringNoString length check
ORCLTEST2Postcodeint55Postcode must be 5 digits
ORCLTEST2TextstringCodepage: ISO-8859-2Checking characters codepage

Run:

# generating evl jobs from the config file evl run/generate_jobs.evl # running the validation job for an entity “TEST1” evl run/validate.test1.evl # running the validation job for an entity “TEST2” evl run/validate.test2.evl # Example of custom function rc_check(): # stol(replace(RC,’/’,’’)) % 11 == 0