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();
相关推荐
小王毕业啦7 小时前
2011-2022年 国内光伏电站遥感矢量数据
大数据·人工智能·数据挖掘·数据分析·数据统计·社科数据·实证数据
山峰哥12 小时前
SQL调优实战指南:从索引设计到高并发场景优化全链路解析
大数据·汇编·数据库·sql·编辑器·区块链
观远数据12 小时前
人效分析怎么做?4步构建数据驱动的人效提升体系
大数据·人工智能·数据分析
CNRio12 小时前
Day 46:Git的高级技巧:使用Git的filter-branch重写历史
大数据·git·elasticsearch
pps-key13 小时前
ai交易算力研究
大数据·jvm·人工智能·机器学习
dajun18112345613 小时前
智能体在复杂工作流中的角色分配
大数据·运维·人工智能
中维ZWPD14 小时前
ZWPD 开放生态:打通设计 - 施工 - 交付 - 运维的工业数据链路
大数据·运维·人工智能
CNRio15 小时前
Day 44:Git的高级技巧:使用Git的reflog找回丢失的提交
大数据·git·elasticsearch
天码-行空17 小时前
【大数据环境安装指南】ZooKeeper搭建Storm高可用集群教程
大数据·zookeeper·storm
行业探路者17 小时前
提升旅游行程管理效率的二维码文件生成方案
大数据·人工智能·学习·二维码·产品介绍