Flink 1.20 使用自带jdbc source 操作步骤

1 添加pom.xml 依赖

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

2 、操作mysql代码

复制代码
package com.zyb.flink.basic;
import com.zyb.flink.basic.bean.Student;
import org.apache.flink.api.common.eventtime.WatermarkStrategy;
import org.apache.flink.api.common.typeinfo.TypeInformation;
import org.apache.flink.connector.jdbc.core.datastream.source.JdbcSource;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;


public class TestJDBCSource {
    public static void main(String[] args) throws Exception {

        //获取flink 上下文环境
        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();

        JdbcSource<Student> jdbc = JdbcSource.<Student>builder()
                .setSql("select id,name,age from student")    
                .setDBUrl("jdbc:mysql://192.168.254.80:3306/pk_flink")
                .setUsername("root")
                .setPassword("123456")
                .setDriverName("com.mysql.cj.jdbc.Driver")
                .setTypeInformation(TypeInformation.of(Student.class))
                .setResultExtractor(rs->{
                    Student student = new Student();
                    student.setId(rs.getInt("id"));
                    student.setName(rs.getString("name"));
                    student.setAge(rs.getInt("age"));
                    return student;
                })
                .build();

        DataStreamSource<Student> source = env.fromSource(
                jdbc,
                WatermarkStrategy.noWatermarks(), // JDBC 源通常不使用事件时间水印,可以使用 NoWatermarks
                "JDBC-Source"
        );

        source.print();


        //执行
        env.execute();
    }
}

3、测试结果

相关推荐
2501_915106326 小时前
抓包抓到乱码或压缩字节怎么解析,TraceEagle五种查看模式和一键解码
网络协议·计算机网络·网络安全·ios·adb·https·udp
cnskylee11 小时前
【MySQL】麒麟V10 SP3系统安装MySQL-Commercial-8.0.46
数据库·mysql·adb
拥小抱12 小时前
Compose 知识点
android
文章永久免费只为良心12 小时前
Web应用安全与防护_第三章_日志文件包含_从一道 CTFshow 题目讲透「日志投毒型 LFI → RCE」:原理、时序陷阱与全变种攻防手册
android·网络安全·渗透测试·漏洞危害·漏洞描述·日志投毒·红队指南
AIsoft_868913 小时前
学术讲座录音如何整理?录音APP可行吗
android·iphone
Patrick在香港15 小时前
一个斜杠,把毫秒变成十几秒
android·数据库·python·性能优化·正则表达式·回溯·redos
海雅达手持终端PDA17 小时前
工业手持终端的“去手机化”演进:看海雅达如何以“同轴扫摄”终结工程妥协,重塑工业PDA新范式
android·物联网·智能手机·硬件工程·能源·制造·iot
booboosui18 小时前
删掉一个住在本机的 agent:8 处要清,顺序不能反
android
hcgeng18 小时前
Android获取崩溃日志
android