栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Flink批处理写入MySQL

Flink批处理写入MySQL

Flink批处理写入MySQL

前言:
主要是使用到JDBCOutputFormat类去实现写入的功能。前提要在数据库中创建好对应的表和字段哦
依赖

  
        
            org.apache.flink
            flink-java
            1.14.0
        
        
            org.apache.flink
            flink-streaming-java_2.12
            1.14.0
            provided
        
        
            org.apache.flink
            flink-clients_2.12
            1.14.0
        
        
            org.apache.flink
            flink-jdbc_2.12
            1.10.0
            provided
        
    

导包:

import org.apache.flink.api.common.functions.MapFunction;
import org.apache.flink.api.java.ExecutionEnvironment;
import org.apache.flink.api.java.io.jdbc.JDBCOutputFormat;
import org.apache.flink.api.java.operators.DataSource;
import org.apache.flink.api.java.operators.MapOperator;
import org.apache.flink.types.Row;

java代码:

public class toMySQL {
    public static void main(String[] args) throws Exception {
        JDBCOutputFormat jdbcOutput = JDBCOutputFormat.buildJDBCOutputFormat()
                .setDrivername("com.mysql.cj.jdbc.Driver")
                .setDBUrl("jdbc:mysql://localhost:3306/test?user=root&password=123456")
                .setQuery("insert into  people (id,name) values (?,?) ")
                //设置为每有2条数据就提交一次,这里可以不要也行
                .setBatchInterval(2)
                .finish();

        ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
        DataSource data = env.fromElements("1,denny", "2,jack");
		//由于写入数据库的数据必须使用Row对象传输,所以通过map将数据转换成Row对象
        MapOperator map = data.map(new MapFunction() {
            @Override
            public Row map(String s) throws Exception {
                String[] ss = s.split(",");
                Row row = new Row(2);
                row.setField(0, Integer.parseInt(ss[0]));
                row.setField(1, ss[1]);
                return row;
            }
        });
        
        map.output(jdbcOutput);
        env.execute();
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/316254.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号