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();
相关推荐
Gu_WenYun40 分钟前
科技投资进入“硬订单“验证期,科技基金如何布局?
大数据·人工智能·科技
ABB自动化41 分钟前
ABB 500CIM06 (1MRB150077R0111) | REB500 通信接口
大数据·分布式·系统架构·系统安全·模块测试·plc 控制器
Elastic 中国社区官方博客44 分钟前
Observability:当 YAML 遇上 IConfiguration:OpenTelemetry .NET SDK 的声明式配置
大数据·开发语言·elasticsearch·搜索引擎·全文检索·.net
跨境联盟1 小时前
跨境膳食补充剂与国内营养品的差异对比|结合精准营养视角谈选型逻辑
大数据·人工智能·健康医疗·健康管理·精准营养
AI办公探索者1 小时前
多智能体博弈(Multi-Agent Game):采购Agent与销售Agent如何自动谈判?
大数据·人工智能·ai
Flynn Liang1 小时前
深入探索 Zenoh:对高速公路物联网中台数据架构的启示
大数据·物联网·架构·iot
四季豆331 小时前
多点落地:大数据赋能各行各业
大数据
zyseo81 小时前
谷歌SEO 抓取日志分析脚本:解析访问日志,看穿 Googlebot 的抓取行为
大数据·数据库·搜索引擎·自动化
跨境数据猎手2 小时前
跨境电商和跨境独立站的最新业务模式
大数据·人工智能·物联网
Nefu_lyh2 小时前
【Spark】02Spark 下载和入门:环境配置、简单的Spark独立应用(Scala版)
大数据·spark·scala