??????????????????????????????user_id????????????????????????????


| |
??????
|
|
[email protected]
|

?????? ???????????? ????

??2020??10??17?? 16:24??867127831 ??????
??flink sql????????????dau????????????????groupby????count distinct 
user_id??????????????table.optimizer.distinct-agg.split.enabled=true????
job??????????????mysql????????????????????????????????????????????????????????????????????????????????????????????????


        ????????            
  ????????
2020-10-10 19:00:00   100
2020-10-10 19:00:02   98
2020-10-10 19:00:04   102
2020-10-10 19:00:06   108
2020-10-10 19:00:08   106
2020-10-10 19:00:10   110


sql??????
create table jdbc_sink(
    date_str varchar ,
    dau bigint,
    PRIMARY KEY (date_str) NOT ENFORCED
) with (
  'connector' = 'jdbc',
  'url' = 'jdbc:mysql://xxx',
  'table-name' = 'xxx',
  'driver' = 'com.mysql.jdbc.Driver',
  'username' = 'xxx',
  'password' = 'xxx'
);


CREATE TABLE action_log_source (
  user_id varchar,
  event_time TIMESTAMP(3),
  WATERMARK FOR event_time AS event_time - INTERVAL '10' SECOND
) with (
  ...
);


INSERT INTO
  jdbc_sink
SELECT
  day_str as date_str,
  COUNT(DISTINCT user_id) AS dau
FROM (
  select 
      user_id as user_id,
      date_format(event_time, 'yyyy-MM-dd') as day_str
  from action_log_source
)
GROUP BY day_str

回复