实时计算flinksql使用sum(),avg(),max(),min(),over(),WATERMARK示例

文章详细描述了如何在Flink中创建catalog、database和table,包括从Kafka主题读取数据并将其写入到MySQL表中,以及使用窗口函数进行实时数据分析。展示了如何配置Kafka连接和MySQL连接参数,以及如何定义RowtimeWatermark以处理时间戳事件.

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

-- 创建CATALOG
CREATE CATALOG `FLINK_CATALOG` WITH('type' = 'generic_in_memory');
-- 创建DATABASE
CREATE DATABASE IF NOT EXISTS `FLINK_CATALOG`.`FLINK_DATABASE`;
CREATE TABLE IF NOT EXISTS `FLINK_CATALOG`.`FLINK_DATABASE`.`kafkacs2024` (
  `id` INT,
  `age` INT,
  `int_test` INT,
  `bigint_test` BIGINT,
  `float_test` FLOAT,
  `double_test` DOUBLE,
  `decimal_test` DECIMAL(18, 3),
  `varchar_test` STRING,
  `char_test` STRING,
  `date_test` DATE,
  `datetime_test` VARCHAR,
  `datetimev2_test` TIMESTAMP,
  `namex` STRING,
  `name` STRING,
  `time_test`  AS TO_TIMESTAMP(datetime_test),
  `sex_test` STRING,
  WATERMARK FOR time_test AS time_test - INTERVAL '0' SECOND  --为Rowtime定义Watermark。
) WITH (
  'connector' = 'kafka',
  'topic' = 'kafkacs2024',
  'properties.bootstrap.servers' = '192.168.12.140:9092,192.168.12.139:9092,192.168.12.141:9092',
  'properties.group.id' = 'ea4521bc-4948-4533-ab6e-8aeb0df06be7',
  'scan.startup.mode' = 'earliest-offset',
  'format' = 'json'
);
--   引用数据表:  [结果表]
--   type: MYSQL
--   datasourceName: mysql_5
--   tableName: jhhscs
CREATE TABLE IF NOT EXISTS `FLINK_CATALOG`.`FLINK_DATABASE`.`jhhscs1` (
  `id` INT,
    `sex_test` VARCHAR,
    `datetime_test` VARCHAR,
  `count_test` DOUBLE,
  `sum_test` DOUBLE,
  `avg_test` DOUBLE,
  `max_test` DOUBLE,
  `min_test` DOUBLE,
  PRIMARY KEY (`id`) NOT ENFORCED
) WITH (
  'connector' = 'jdbc',
  'url' = 'jdbc:mysql://192.168.12.207:3306/test?useSSL=false&zeroDateTimeBehavior=CO
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值