THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Wiki Markup |
---|
--DDL
CREATE TABLE T (
pk STRING PRIMARY KEY NOT ENFOCED,
sum_field1 BIGINT,
max_field1 BIGINT,
default_field BIGINT )
WITH (
'merge-engine' = 'aggregation',
'fields.sum_field1.function'='sum',
'fields.max_field1.function'='max'
'aggregate-function' = '\{
sum_field1:sum,
max_field1:max
\}' \-\- sum up all sum_field1 with same pk; get max value of all max_field1 with same pk
);
-- DML
INSERT INTO T VALUES ('pk1', 1, 1, 1);
INSERT INTO T VALUES ('pk1', 1, 1, NULL);
-- verify
SELECT * FROM T;
=> output 'pk1', 2, 2, NULL |
...
The aggregate functions we propose to implement include sum, max/min, count, replacelast_ifnon_notnull_nullvalue, replacelast_value, concatenatelistagg, bool_or/bool_and. These functions support different data types.
...