THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block | ||
---|---|---|
| ||
-- 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 | ||
---|---|---|
| ||
'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 | ||
---|---|---|
| ||
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
} |
...