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、测试结果

相关推荐
BoomHe10 小时前
Android Framework 文件应用移植到 AndroidStudio
android
传奇开心果编程11 小时前
【Jetpack Compose基础语法学与练】第8课 rememberSaveable,页面旋转/系统重建保留状态
android·学习·ui·kotlin·android jetpack
>Andre<12 小时前
UFS5.0标准中文全译·卷一:范围、术语与架构
android·linux·嵌入式硬件
事圆则缓13 小时前
Java 8 Lambda、Stream、Optional 与 Android 边界:从回调语法到运行时兼容
android·java
mmsx13 小时前
Android 地图十万要素不卡顿:空间网格 + 渐进式加载的移动端实践
android·大数据·opengl
Godikov14 小时前
Android 工业终端保活实战:前台服务 + 开机自启 + 更新自启的三重保障
android
字节暗面14 小时前
SO加固强度怎么量化?腾讯ACE与FairGuard静态分析实测
android·逆向
终端安全笔记16 小时前
描述文件、企业证书、MDM 不是三个名字,是三层
android·ios·智能手机
文人sec16 小时前
grant 之后要跟着 flush privileges 吗?要不要使用分区表?
数据库·mysql·adb·数据分析
字节暗面16 小时前
一次游戏安全SO静态分析记录:腾讯ACE与FairGuard加固强度对比
android·逆向工程·游戏加固