zoukankan      html  css  js  c++  java
  • Flink批处理读取Hive写入MySql

    把hive 表stu77 的数据写入 mysql 表test_stu 中.

    中间可以加自己的逻辑.

    
    
    import org.apache.flink.table.api.EnvironmentSettings;
    import org.apache.flink.table.api.StatementSet;
    import org.apache.flink.table.api.Table;
    import org.apache.flink.table.api.TableEnvironment;
    import org.apache.flink.table.catalog.hive.HiveCatalog;
    
    /**
     * @Auther WeiJiQian
     * @描述  可行
     */
    public class FlinkReadHiveAndWriteMysql {
    
    
        public static void main(String[] args) throws Exception {
    
            EnvironmentSettings settings = EnvironmentSettings
                    .newInstance()
                    .useBlinkPlanner()
                    .inBatchMode()
                    .build();
    
            TableEnvironment tableEnv = TableEnvironment.create(settings);
            String name = "myhive";      // Catalog名称,定义一个唯一的名称表示
            String defaultDatabase = "test";  // 默认数据库名称
            String hiveConfDir = "/data/apache-hive-2.3.6-bin/conf";  // hive-site.xml路径
            String version = "2.3.6";       // Hive版本号
    
            HiveCatalog hive = new HiveCatalog(name, defaultDatabase, hiveConfDir, version);
            StatementSet statementSet = tableEnv.createStatementSet();
    
            tableEnv.registerCatalog(name, hive);
            tableEnv.useCatalog(name);
    
            Table sqlResult = tableEnv.sqlQuery("select name,age from test.stu77");
    
            String sql =
                    "create table testOut ( " +
                    "name varchar(20) not null, "+
                    "age varchar(20) not null "+
                    ") with ( "+
                    "'connector.type' = 'jdbc',"+
                    "'connector.url' = 'jdbc:mysql://192.168.1.1:3306/jeecg_boot?characterEncoding=UTF-8',"+
                    "'connector.table' = 'test_stu',"+
                    "'connector.driver' = 'com.mysql.jdbc.Driver',"+
                    "'connector.username' = 'root',"+
                    "'connector.password' = '123456')";
             tableEnv.executeSql(sql);
            statementSet.addInsert("testOut",sqlResult);
    
            statementSet.execute();
    
        }
    }
    
    
  • 相关阅读:
    【转载】jquery取得iframe元素的方法
    【转载】URL重写相关
    【转载】PHP程序员突破成长瓶颈
    【转载】是什么浪费了我的上网时间
    信息化时代下的我们弄潮儿
    如何减小与“大牛”的差距
    servlet应用之cookies&session操作
    Servlet简介及工作原理
    深入学习Tomcat自己动手写服务器(附服务器源码)
    servlet过滤器
  • 原文地址:https://www.cnblogs.com/weijiqian/p/14088161.html
Copyright © 2011-2022 走看看