Assert

Assert sink connector

A flink sink plugin which can assert illegal data by user defined rules

Key Featuresarrow-up-right

Name
Type
Required
Default

rules

ConfigMap

yes

-

rules.field_rules

string

yes

-

rules.field_rules.field_name

string|ConfigMap

yes

-

rules.field_rules.field_type

string

no

-

rules.field_rules.field_value

ConfigList

no

-

rules.field_rules.field_value.rule_type

string

no

-

rules.field_rules.field_value.rule_value

numeric

no

-

rules.field_rules.field_value.equals_to

boolean|numeric|string|ConfigList|ConfigMap

no

-

rules.row_rules

string

yes

-

rules.row_rules.rule_type

string

no

-

rules.row_rules.rule_value

string

no

-

rules.catalog_table_rule

ConfigMap

no

-

rules.catalog_table_rule.primary_key_rule

ConfigMap

no

-

rules.catalog_table_rule.primary_key_rule.primary_key_name

string

no

-

rules.catalog_table_rule.primary_key_rule.primary_key_columns

ConfigList

no

-

rules.catalog_table_rule.constraint_key_rule

ConfigList

no

-

rules.catalog_table_rule.constraint_key_rule.constraint_key_name

string

no

-

rules.catalog_table_rule.constraint_key_rule.constraint_key_type

string

no

-

rules.catalog_table_rule.constraint_key_rule.constraint_key_columns

ConfigList

no

-

rules.catalog_table_rule.constraint_key_rule.constraint_key_columns.constraint_key_column_name

string

no

-

rules.catalog_table_rule.constraint_key_rule.constraint_key_columns.constraint_key_sort_type

string

no

-

rules.catalog_table_rule.column_rule

ConfigList

no

-

rules.catalog_table_rule.column_rule.name

string

no

-

rules.catalog_table_rule.column_rule.type

string

no

-

rules.catalog_table_rule.column_rule.column_length

int

no

-

rules.catalog_table_rule.column_rule.nullable

boolean

no

-

rules.catalog_table_rule.column_rule.default_value

string

no

-

rules.catalog_table_rule.column_rule.comment

comment

no

-

rules.table-names

ConfigList

no

-

common-options

no

-

rules [ConfigMap]arrow-up-right

Rule definition of user's available data. Each rule represents one field validation or row num validation.

field_rules [ConfigList]arrow-up-right

field rules for field validation

field_name [string]arrow-up-right

field name(string)

field_type [string | ConfigMap]arrow-up-right

Field type declarations should adhere to this guidearrow-up-right.

field_value [ConfigList]arrow-up-right

A list value rule define the data value validation

rule_type [string]arrow-up-right

The following rules are supported for now

  • NOT_NULL value can't be null

  • NULL value can be null

  • MIN define the minimum value of data

  • MAX define the maximum value of data

  • MIN_LENGTH define the minimum string length of a string data

  • MAX_LENGTH define the maximum string length of a string data

  • MIN_ROW define the minimun number of rows

  • MAX_ROW define the maximum number of rows

rule_value [numeric]arrow-up-right

The value related to rule type. When the rule_type is MIN, MAX, MIN_LENGTH, MAX_LENGTH, MIN_ROW or MAX_ROW, users need to assign a value to the rule_value.

equals_to [boolean | numeric | string | ConfigList | ConfigMap]arrow-up-right

equals_to is used to compare whether the field value is equal to the configured expected value. You can assign values of all types to equals_to. These types are detailed herearrow-up-right. For instance, if one field is a row with three fields, and the declaration of row type is {a = array<string>, b = map<string, decimal(30, 2)>, c={c_0 = int, b = string}}, users can assign the value [["a", "b"], { k0 = 9999.99, k1 = 111.11 }, [123, "abcd"]] to equals_to.

The way of defining field values is consistent with FakeSourcearrow-up-right.

equals_to cannot be applied to null type fields. However, users can use the rule type NULL for verification, such as {rule_type = NULL}.

catalog_table_rule [ConfigMap]arrow-up-right

Used to assert the catalog table is same with the user defined table.

table-names [ConfigList]arrow-up-right

Used to assert the table should be in the data.

common optionsarrow-up-right

Sink plugin common parameters, please refer to Sink Common Options for details

the whole config obey with hocon style

Here is a more complex example about equals_to. The example involves FakeSource. You may want to learn it, please read this documentarrow-up-right.

Last updated