学堂 学堂 学堂公众号手机端

flink怎么读取mysql数据

lewis 3年前 (2022-09-14) 阅读数 2 #技术

要在Flink中读取MySQL数据,可以使用Flink的JDBC连接器。以下是一个示例代码,演示如何读取MySQL数据:

import org.apache.flink.api.java.io.jdbc.JDBCInputFormat;
import org.apache.flink.api.java.typeutils.RowTypeInfo;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.types.Row;

public class ReadMySQLData {

    public static void main(String[] args) {

        String driverClassName = "com.mysql.jdbc.Driver";
        String dbURL = "jdbc:mysql://localhost:3306/your_database";
        String query = "SELECT * FROM your_table";

        RowTypeInfo rowTypeInfo = new RowTypeInfo(/* define your row types here */);

        JDBCInputFormat jdbcInputFormat = JDBCInputFormat.buildJDBCInputFormat()
                .setDrivername(driverClassName)
                .setDBUrl(dbURL)
                .setUsername("your_username")
                .setPassword("your_password")
                .setQuery(query)
                .setRowTypeInfo(rowTypeInfo)
                .finish();

        DataStream<Row> jdbcDataStream = env.createInput(jdbcInputFormat);

        jdbcDataStream.print();

        env.execute("Read MySQL Data");
    }
}

请注意,上述代码中的driverClassNamedbURLqueryusernamepassword需要根据你的实际情况进行修改。同时,还需要定义RowTypeInfo来描述从MySQL中读取的数据的类型。


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门