消费 Kafka 一个TOPIC数据,插入到另一个KAFKA的TOPIC

从 Kafka 消费 CDC 数据(变更捕获,需 Upsert 语义)

用 kafka 连接器 + 主键 + 处理函数 模拟 Upsert,示例:

CREATE TABLE `KAFKA_TEST_0002` (

`LGL_PERN_CODE` VARCHAR COMMENT 'LGL_PERN_CODE',

`LBLTY_ACCT_NUM` VARCHAR COMMENT 'LBLTY_ACCT_NUM',

`ACCT_NM` VARCHAR COMMENT 'ACCT_NM',

`CUST_NUM` VARCHAR COMMENT 'CUST_NUM',

`NAT_CODE` VARCHAR COMMENT 'NAT_CODE',

-- 声明主键(用于 Upsert 去重)

PRIMARY KEY (`LBLTY_ACCT_NUM`) NOT ENFORCED

) WITH (

'connector' = 'kafka', -- 恢复为 kafka 连接器

'topic' = 'KAFKA_TEST_0002',

'properties.bootstrap.servers' = '10.57.48.38:21007,10.57.48.37:21007,10.57.48.36:21007',

'properties.group.id' = '7a074dd07bfb4d4da39eb0f5773b952b',

'scan.startup.mode' = 'earliest-offset',

'format' = 'debezium-json', -- 适配 CDC 格式

'debezium-json.ignore-parse-errors' = 'true',

'debezium-json.schema-include' = 'true',

'properties.security.protocol' = 'SASL_PLAINTEXT',

'properties.kerberos.domain.name' = 'hadoop.124dba82_3b54_0125_81e4_110652049a41.com',

'properties.sasl.kerberos.service.name' = 'kafka'

);

-- 如需 Upsert 输出,再通过 Sink 写入 upsert-kafka

CREATE TABLE KafkaUpsertSink (

`LBLTY_ACCT_NUM` VARCHAR,

`LGL_PERN_CODE` VARCHAR,

`ACCT_NM` VARCHAR,

PRIMARY KEY (`LBLTY_ACCT_NUM`) NOT ENFORCED

) WITH (

'connector' = 'upsert-kafka', -- Sink 侧使用 upsert-kafka

'topic' = 'sink_topic',

'properties.bootstrap.servers' = '...',

'key.format' = 'json',

'value.format' = 'json'

);

-- 业务逻辑:从 Kafka 读 CDC 数据,处理后 Upsert 写入

INSERT INTO KafkaUpsertSink

SELECT LBLTY_ACCT_NUM, LGL_PERN_CODE, ACCT_NM

FROM `KAFKA_TEST_0002`;

相关推荐
皮皮林5517 小时前
Kafka 怎么保证消费只消费一次的?
kafka
茶海棠12 小时前
Hadoop+zookeeper+HBase+Kafka集群搭建全流程
hadoop·zookeeper·kafka·hbase
后台模板学习16 小时前
Kafka 与 RabbitMQ 在用户认证与权限管理场景
kafka·rabbitmq·linq
真上帝的左手18 小时前
12. 消息队列-Kafka进阶
分布式·中间件·kafka
千里达景区票务系统2 天前
消息队列选型对比:RabbitMQ vs RocketMQ vs Kafka
kafka·消息队列·rabbitmq·rocketmq
Sayai2 天前
Kafka 跨数据中心日志同步实战:MirrorMaker 2 选型对比 + Flink 中继任务落地(双中心互备与消费者组隔离避坑)
大数据·运维·分布式·flink·kafka·消息队列·高可用
jianjinwssy2 天前
从零设计一个 Agent 安全沙箱:Docker 隔离、三级风控与 Kafka 审计
人工智能·docker·kafka
一条泥憨鱼3 天前
【Kafka】零基础学习教程
java·分布式·学习·kafka
9624563 天前
补打一条卡,为什么要从前一天重新算:人工补录与实时重算业务复盘
java·mysql·kafka
RobinXYuan4 天前
【Kafka 源码手记】05 Broker 网络层与请求处理(中):Processor 事件循环与线上的字节
kafka·源码阅读