fink sql 读取 kafka 的数据写到 kafka

6 篇文章 0 订阅
5 篇文章 0 订阅

版本: flink 1.12  平台:streamX

 

-- source
CREATE TABLE `stg_access_its_rt_kafka` (
      `message` STRING COMMENT '表数据',
      `table_name` STRING COMMENT '表名',
      `record_time` STRING COMMENT '时间yyyy-MM-dd HH:mm:ss',
      `ts` TIMESTAMP(3) METADATA FROM 'timestamp'
) WITH (
      'connector' = 'kafka',
      'format' = 'json',
      'topic' = 'its-topic',
      'properties.bootstrap.servers' = 'ip:port',
      'scan.startup.mode' = 'latest-offset',
      'properties.group.id' = 'stg_access_its_rt_kafka'
    );

-- sink
CREATE TABLE `stg_its_vehicle_dynamic_info_rt_kafka` (
        id bigint COMMENT'主键',
        vhc_plate_number	STRING COMMENT'号牌号码',
        vhc_plate_type	STRING COMMENT'号牌种类',
        speed	double COMMENT'速度,单位:km/h',
        fx	STRING COMMENT'方向',
        longi	double COMMENT'经度',
        lati	double COMMENT'纬度',
        gmt_create	STRING COMMENT'GPS生成时间',
        record_time STRING COMMENT'GPS生成时间',
        `dt`  STRING COMMENT 'yyyy-mm-dd',
        `state_time`  STRING COMMENT 'yyyyMMddHHmmss 时间'
) WITH (
      'connector' = 'kafka',
      'format' = 'json',
      'topic' = 'stg_its_vehicle_dynamic_info',
      'properties.bootstrap.servers' = 'ip:port',
      'sink.partitioner'='round-robin'
      );



--vehicle_dynamic_info
INSERT INTO stg_its_vehicle_dynamic_info_rt_kafka
SELECT
    cast(get_value_from_string_json(message,'id') as bigint) as id,
    get_value_from_string_json(message,'vhcPlateNumber') as vhc_plate_number,
    get_value_from_string_json(message,'vhcPlateType') as vhc_plate_type,
    cast(get_value_from_string_json(message,'speed') as double) as speed,
    get_value_from_string_json(message,'fx') as fx,
    cast(get_value_from_string_json(message,'longi') as double) as longi,
    cast(get_value_from_string_json(message,'lati') as double) as lati,
    get_value_from_string_json(message,'gmtCreate') as gmt_create,
    record_time as record_time,
    date_format_local(cast(`ts` as string),'yyyy-MM-dd') as `dt`,
    date_format_local(cast(`ts` as string),'yyyyMMddHHmmss') as `state_time`

from stg_access_its_rt_kafka
where table_name = 'vehicle-dynamic-info';



需要加时间戳的


-- source
`ts` TIMESTAMP(3) METADATA FROM 'timestamp'

-- sink
`dt`  STRING COMMENT 'yyyy-mm-dd',
`state_time`  STRING COMMENT 'yyyyMMddHHmmss 时间'

-- insert into
date_format_local(cast(`ts` as string),'yyyy-MM-dd') as `dt`,
date_format_local(cast(`ts` as string),'yyyyMMddHHmmss') as `state_time`

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值