setats

CREATE TABLE `demo_simple_cdc_source` (
      `id`                     BIGINT,
      `col_int`                INT,
      `col_bigint`             BIGINT,
      `col_smallint`           SMALLINT,
      `col_string`             STRING,
      `col_decimal`            DECIMAL(20, 0),
      `col_double`             DOUBLE,
      `col_timestamp`          TIMESTAMP(6),
      `col_ts_ltz`             TIMESTAMP_LTZ(6),
      `col_date`               DATE,
      `dt`                     STRING,
      `col_timestamp_rowtime`
          AS CAST(`col_timestamp` AS TIMESTAMP(3)),
      WATERMARK FOR `col_timestamp_rowtime`
          AS `col_timestamp_rowtime` - INTERVAL '5' SECOND,
      PRIMARY KEY (`id`, `dt`) NOT ENFORCED
  )
  PARTITIONED BY (`dt`)
  WITH (
      'connector'                  = 'setats-cdc',
      'manager-url'                = '',
      'catalog-type'               = 'hive',
      'catalog-name'               = 'setats',
      'catalog-database'           = '',
      'catalog-table'              = 'setes_test_simpe_types_02',
      'warehouse'                  = 'cosn://11111/warehouse',
      'uri'                        = 'thrift://127:7004',
      'bucket'                     = '3',
      'bucket-key'                 = 'id',
      'bucket.discovery-interval'  = '30s',
      'append-mode' = 'true'
  );


  CREATE TABLE `demo_window_blackhole_sink` (
      `window_start` TIMESTAMP(3),
      `window_end`   TIMESTAMP(3),
      `record_count` BIGINT
  )
  WITH (
      'connector' = 'blackhole'
  );


  INSERT INTO `demo_window_blackhole_sink`
  SELECT
      `window_start`,
      `window_end`,
      COUNT(*) AS `record_count`
  FROM TABLE(
      TUMBLE(
          TABLE `demo_simple_cdc_source`,
          DESCRIPTOR(`col_timestamp_rowtime`),
          INTERVAL '1' MINUTE
      )
  )
  GROUP BY
      `window_start`,
      `window_end`;

setats-cdc类似mysql-cdc生成的时完整的Changelog,window只能接受insert,如果用使用window需要开启append mode,或者使用group by

 

posted @ 2026-08-27 19:01  Robots2  阅读(5)  评论(0)    收藏  举报