Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

...