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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
2023-04-03 Hive 如何巧用分布函数percent_rank()剔除极值求均值