Versions Compared

Key

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

...

Code Block
languagesql
-- configure in table options
CREATE TABLE user_actions (
  ...
  user_action_time TIMESTAMP(3),
  WATERMARK FOR user_action_time AS user_action_time - INTERVAL '5' SECOND
) WITH (   
  'scan.watermark.emit.strategy'='on-event',
  'scan.watermark.emit.on-event.gap'='10000',
  ...
);

-- use 'OPTIONS' hint
select ... from source_table /*+ OPTIONS('scan.watermark.emit.strategy'='on-event', 'scan.watermark.emit.on-event.gap'='10000') */

...

2.Dealing with idle sources

...

Code Block
languagesql
'scan.watermark.emit.strategy'='on-event',
'scan.watermark.emit.on-event.gap'='10000',
'scan.idle-timeout'='1min',
'scan.watermark.alignment.group'='alignment-group-1',
'scan.watermark.alignment.max-drift'='1min',
'scan.watermark.alignment.update-interval'='1s'

...

Code Block
languagejava
public class WatermarkParams implements Serializable {
    private static final long serialVersionUID = 1L;

    private WatermarkEmitStrategy emitStrategy;
    private int emitOnEventGap;
    private String alignGroupName;
    private Duration alignMaxDrift;
    private Duration alignUpdateInterval;
    private long sourceIdleTimeout;
}

...

Code Block
"watermarkParams":{
    "emitStrategy" : "ON_PERIODIC",
    "emitOnEventGap" : 1,
    "alignGroupName" : null,
    "alignMaxDrift" : "PT0S",
    "alignUpdateInterval" : "PT1S",
    "sourceIdleTimeout" : -1
}

...