大佬们 FlinkSQL 能写入Oracle吗?

大佬们 FlinkSQL 能写入Oracle吗?

展开
收起
雪哥哥 2022-11-20 22:00:47 657 分享 版权
1 条回答
写回答
取消 提交回答
  • 发表文章、提出问题、分享经验、结交志同道合的朋友

    可以,FlinkSQL任务主要由两部分组成,一是数据源创建,就是数据从哪儿来;二是目标结果表,数据写到哪儿去。使用FlinkSQL将对应的结果写入Oracle。

    // 数据源表
            String sourceDDL =
                    "CREATE TABLE mysql_binlog (\n" +
                            " ID STRING,\n" +
                            " CRON STRING,\n" +
                            " primary key (ID) not enforced\n" +
                            ") WITH (\n" +
                            " 'connector' = 'mysql-cdc',\n" +
                            " 'hostname' = '192.168.1.1',\n" +
                            " 'port' = '3306',\n" +
                            " 'username' = 'root',\n" +
                            " 'password' = 'root',\n" +
                            " 'database-name' = 'test',\n" +
                            " 'table-name' = 'test',\n" +
                            " 'scan.startup.mode' = 'latest-offset'\n" +
                            ")";
            // 输出目标表
            String sinkDDL =
                    "CREATE TABLE test_cdc_sink (\n" +
                            " ID STRING,\n" +
                            " CRON STRING,\n" +
                            " primary key (ID) not enforced\n" +
                            ") WITH (\n" +
                            " 'connector' = 'jdbc',\n" +
                            " 'driver' = 'com.oracle.cj.jdbc.Driver',\n" +
                            " 'url' = 'jdbc:oracle:thin:@192.168.1.2:1521:dis?serverTimezone=UTC&useSSL=false',\n" +
                            " 'username' = 'root',\n" +
                            " 'password' = 'root',\n" +
                            " 'table-name' = 'test'\n" +
                            ")";
            // 简单的聚合处理
            String transformDmlSQL =  "insert into test_cdc_sink select * from mysql_binlog";
    
            tableEnv.executeSql(sourceDDL);
            tableEnv.executeSql(sinkDDL);
            tableEnv.executeSql(transformDmlSQL);
    
    2023-02-02 10:51:48
    赞同 展开评论

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理