FlinkSQL Unable to create a source for reading table 'default_catalog.default_database.xxx'

问题描述

使用 FlinkSql 的 jdbc 连接器 读取 mysql 的一张表,总是提示 

Exception in thread "main" org.apache.flink.table.api.ValidationException: Unable to create a source for reading table 'default_catalog.default_database

程序代码

复制代码
    public static void main(String[] args) {
        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        env.setParallelism(4);
        StreamTableEnvironment tableEnv = StreamTableEnvironment.create(env);
        tableEnv.executeSql("CREATE TABLE dim_dic (\n" +
                "  dic_id STRING,\n" +
                "  dic_desc STRING,\n" +
                "  update_time STRING,\n" +
                "  PRIMARY KEY (dic_id) NOT ENFORCED \n" +
                ") WITH (\n" +
                "   'connector' = 'jdbc',\n" +
                "   'url' = 'jdbc:mysql://hostname:3306/db',\n" +
                "   'table-name' = 'dim_dic',\n" +
                "   'username' = 'username',\n" +
                "   'password' = 'pwd----'\n" +
                ")");
        tableEnv.executeSql("select * from dim_dic ").print();
    }
复制代码

解决方式

仔细看了下SQL无误,再次查看官网发现少了依赖

<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-connector-jdbc -->
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-connector-jdbc</artifactId>
    <version>3.1.1-1.17</version>
    <scope>provided</scope>
</dependency>

 

posted @   晓枫的春天  阅读(1501)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
历史上的今天:
2023-04-03 Hive 如何巧用分布函数percent_rank()剔除极值求均值
点击右上角即可分享
微信分享提示