...
Tips: Columns which do not have designated aggregate functions using newest value to overwrite old value.
Supported aggregate functions
The aggregate functions we propose to implement include sum, max/min, count, replace_if_not_null, replace, concatenate, or/and. These functions support different data types.
The sum aggregate function supports DECIMAL, TINYINT, SMALLINT, INTEGER, BIGINT, FLOAT, DOUBLE, INTERVAL(INTERVAL YEAR TO MONTH, INTERVAL DAY TO SECOND) data types.
The max/min aggregate function fupports DECIMAL, TINYINT, SMALLINT, INTEGER, BIGINT, FLOAT, DOUBLE, INTERVAL(INTERVAL YEAR TO MONTH, INTERVAL DAY TO SECOND), DATE, TIME, TIMESTAMP, TIMESTAMP_LTZ data types.
The count/replace_if_not_null/replace aggregate functions support all data types.
The concatenate aggregate function supports VARCHAR, STRING data types.
The and/or aggregate function supports BOOLEAN data type.
Future Work
An advanced way of introducing pre-aggregated merge into Flink table store is using materialized view to get pre-aggregated merge result from a source table. Then a stream job is started to synchronize data, consume source data, and write incrementally . This data synchronization job has no state. More information is described in JIRA.
...