70、Flink 的 DataStream Connector 之 JDBC 连接器详解

1.概述

该连接器可以向 JDBC 数据库写入数据,添加下面的依赖以便使用该连接器(同时添加 JDBC 驱动)

复制代码
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-connector-jdbc</artifactId>
    <version>3.1.2-1.19</version>
</dependency>

已创建的 JDBC Sink 能够保证至少一次的语义,精确一次可以通过 upsert 语句或幂等更新实现。

使用示例:

复制代码
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

env
        .fromElements(...)
        .addSink(JdbcSink.sink(
                "insert into books (id, title, author, price, qty) values (?,?,?,?,?)",
                (ps, t) -> {
                    ps.setInt(1, t.id);
                    ps.setString(2, t.title);
                    ps.setString(3, t.author);
                    ps.setDouble(4, t.price);
                    ps.setInt(5, t.qty);
                },
                new JdbcConnectionOptions.JdbcConnectionOptionsBuilder()
                        .withUrl(getDbMetadata().getUrl())
                        .withDriverName(getDbMetadata().getDriverClass())
                        .build()));
env.execute();
相关推荐
数字孪生视频孪生6 小时前
在线重构,实时同步:视频动态三维重建打造 “常更常新” 的数字底座
大数据·人工智能·重构·架构·空间计算
Aloudata6 小时前
Claude 做数据分析的这两年:一份复盘与发展线索
大数据·数据库·人工智能·数据挖掘·数据分析·dataagent
云上工程笔记7 小时前
SRT字幕一键转手绘动画:srt-whiteboard-animation的复刻实录
大数据·开发语言·javascript·人工智能·机器学习
isNotNullX17 小时前
仓储管理最全框架:6大流程、8项指标、10个管理动作、12个常见问题
大数据·人工智能
国科安芯18 小时前
把接口变成观测量:CANFD收发器状态可观测性驱动的星上故障检测隔离与恢复方法
大数据·人工智能·物联网·卫星·抗辐射·通信芯片·载荷
玩美数据20 小时前
海外市场数据服务常用术语与名词解释权威指南
大数据·人工智能
武子康1 天前
Qwen-Drive 的 91.4 分,究竟选中了什么?
大数据·人工智能·agent
演艺大赏1 天前
NiFi 集群长期运维:并发线程、content 仓库、日志与漏洞面
大数据
freejackman1 天前
【工程化】从“单兵作战”到“多引擎架构”:基于门面模式的重构实战
大数据·数据库·hive·sql·测试工具·设计模式·架构