Flink SQL 问题之查询时报错如何解决

本文涉及的产品
实时计算 Flink 版,1000CU*H 3个月
简介: Flink SQL报错通常指在使用Apache Flink的SQL接口执行数据处理任务时遇到的问题;本合集将收集常见的Flink SQL报错情况及其解决方法,帮助用户迅速恢复数据处理流程。

问题一:使用 SQL Client,进行hive查询时报错: 命名有了flink-connector-hive_2.11-1.12.0.jar,还是报java.lang.ClassNotFoundException: org.apache.flink.connectors.hive.HiveSource 麻烦看一下


使用 SQL Client,进行hive查询时报错:  命名有了flink-connector-hive_2.11-1.12.0.jar,还是报java.lang.ClassNotFoundException: org.apache.flink.connectors.hive.HiveSource  麻烦看一下

报错信息:

Flink SQL> select count(*) from zxw_test_1225_01;  2020-12-30 16:20:42,518 WARN org.apache.hadoop.hive.conf.HiveConf [] - HiveConf of name hive.spark.client.submit.timeout.interval does not exist  2020-12-30 16:20:42,519 WARN org.apache.hadoop.hive.conf.HiveConf [] - HiveConf of name hive.support.sql11.reserved.keywords does not exist  2020-12-30 16:20:42,520 WARN org.apache.hadoop.hive.conf.HiveConf [] - HiveConf of name hive.spark.client.rpc.server.address.use.ip does not exist  2020-12-30 16:20:42,520 WARN org.apache.hadoop.hive.conf.HiveConf [] - HiveConf of name hive.enforce.bucketing does not exist  2020-12-30 16:20:42,520 WARN org.apache.hadoop.hive.conf.HiveConf [] - HiveConf of name hive.server2.enable.impersonation does not exist  2020-12-30 16:20:42,520 WARN org.apache.hadoop.hive.conf.HiveConf [] - HiveConf of name hive.run.timeout.seconds does not exist  2020-12-30 16:20:43,065 WARN org.apache.hadoop.hdfs.shortcircuit.DomainSocketFactory [] - The short-circuit local reads feature cannot be used because libhadoop cannot be loaded.  2020-12-30 16:20:43,245 INFO org.apache.hadoop.mapred.FileInputFormat [] - Total input files to process : 24  [ERROR] Could not execute SQL statement. Reason:  java.lang.ClassNotFoundException: org.apache.flink.connectors.hive.HiveSource

lib包:

tree lib

lib  ├── flink-connector-hive_2.11-1.12.0.jar  ├── flink-csv-1.12.0.jar  ├── flink-dist_2.11-1.12.0.jar  ├── flink-hadoop-compatibility_2.11-1.12.0.jar  ├── flink-json-1.12.0.jar  ├── flink-shaded-hadoop-2-uber-2.8.3-10.0.jar  ├── flink-shaded-zookeeper-3.4.14.jar  ├── flink-table_2.11-1.12.0.jar  ├── flink-table-blink_2.11-1.12.0.jar  ├── hive-exec-2.3.4.jar  ├── log4j-1.2-api-2.12.1.jar  ├── log4j-api-2.12.1.jar  ├── log4j-core-2.12.1.jar  └── log4j-slf4j-impl-2.12.1.jar*来自志愿者整理的flink邮件归档


参考回答:

你在启动之后才把 jar 包放进去的吗,重启下 SQL Client 试试?


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/361812?spm=a2c6h.14164896.0.0.169a63bf5w2htC


问题二:flink-sql 客户端,咋回事 我show tables 报错


1c2a8e4c928c5b487b7d8223d1e7ffac_7750382a79194eb2b1fb4fb761dc706c.png


参考回答:

缺少语言包


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/446435?spm=a2c6h.14164896.0.0.169a63bf5w2htC


问题三:Flink Sql不支持executeSql多次select into语句吗?


一个Flink CDC程序,想要执行两次不同的select into语句。报错



关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/438350?spm=a2c6h.14164896.0.0.169a63bf5w2htC


问题四:flink sql client数据插入文件报错,请教各位大佬,这个该怎么解决?


flink sql client数据插入文件报错,请教各位大佬,这个该怎么解决? #Flink



参考回答:

因为只支持append 流,要么换插入的地方,要么改源码


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/310281?spm=a2c6h.14164896.0.0.169a63bf5w2htC


问题五:我使用flink sql cdc取连接 mysql表的时候,当我的mysql表type这个字段类型是tinyint类型时 使用type in(1,2,3,4,5)会报以下的错误,只有当我把字段类型改成int的时候才能使用in,这是符合预期的吗,当字段类型不匹配的时候 flink sql不会自动转换类型吗?


我使用flink sql cdc取连接 mysql表的时候,当我的mysql表type这个字段类型是tinyint类型时 使用type in(1,2,3,4,5)会报以下的错误,只有当我把字段类型改成int的时候才能使用in,这是符合预期的吗,当字段类型不匹配的时候 flink sql不会自动转换类型吗?

[ERROR] Could not execute SQL statement. Reason: org.codehaus.commons.compiler.CompileException: Line 6, Column 88: No applicable constructor/method found for actual parameters "int"; candidates are: "org.apache.flink.table.runtime.util.collections.ByteHashSet()*来自志愿者整理的flink邮件归档


参考回答:

从你的报错来看,是 in 不支持隐式 CAST。 你要么可以把 type 定义成 INT,要不把后面的值 CAST 成 TINYINT。


关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/371595?spm=a2c6h.14164896.0.0.671063bfD4aSq3

相关实践学习
基于Hologres+Flink搭建GitHub实时数据大屏
通过使用Flink、Hologres构建实时数仓,并通过Hologres对接BI分析工具(以DataV为例),实现海量数据实时分析.
实时计算 Flink 实战课程
如何使用实时计算 Flink 搞定数据处理难题?实时计算 Flink 极客训练营产品、技术专家齐上阵,从开源 Flink功能介绍到实时计算 Flink 优势详解,现场实操,5天即可上手! 欢迎开通实时计算 Flink 版: https://cn.aliyun.com/product/bigdata/sc Flink Forward Asia 介绍: Flink Forward 是由 Apache 官方授权,Apache Flink Community China 支持的会议,通过参会不仅可以了解到 Flink 社区的最新动态和发展计划,还可以了解到国内外一线大厂围绕 Flink 生态的生产实践经验,是 Flink 开发者和使用者不可错过的盛会。 去年经过品牌升级后的 Flink Forward Asia 吸引了超过2000人线下参与,一举成为国内最大的 Apache 顶级项目会议。结合2020年的特殊情况,Flink Forward Asia 2020 将在12月26日以线上峰会的形式与大家见面。
相关文章
|
2月前
|
SQL 人工智能 JSON
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
简介:本文整理自阿里云高级技术专家李麟在Flink Forward Asia 2025新加坡站的分享,介绍了Flink 2.1 SQL在实时数据处理与AI融合方面的关键进展,包括AI函数集成、Join优化及未来发展方向,助力构建高效实时AI管道。
621 43
|
2月前
|
SQL 人工智能 JSON
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
本文整理自阿里云的高级技术专家、Apache Flink PMC 成员李麟老师在 Flink Forward Asia 2025 新加坡[1]站 —— 实时 AI 专场中的分享。将带来关于 Flink 2.1 版本中 SQL 在实时数据处理和 AI 方面进展的话题。
208 0
Flink 2.1 SQL:解锁实时数据与AI集成,实现可扩展流处理
|
1月前
|
SQL 监控 关系型数据库
一键开启百倍加速!RDS DuckDB 黑科技让SQL查询速度最高提升200倍
RDS MySQL DuckDB分析实例结合事务处理与实时分析能力,显著提升SQL查询性能,最高可达200倍,兼容MySQL语法,无需额外学习成本。
|
1月前
|
SQL 存储 关系型数据库
MySQL体系结构详解:一条SQL查询的旅程
本文深入解析MySQL内部架构,从SQL查询的执行流程到性能优化技巧,涵盖连接建立、查询处理、执行阶段及存储引擎工作机制,帮助开发者理解MySQL运行原理并提升数据库性能。
|
1月前
|
SQL 监控 关系型数据库
SQL优化技巧:让MySQL查询快人一步
本文深入解析了MySQL查询优化的核心技巧,涵盖索引设计、查询重写、分页优化、批量操作、数据类型优化及性能监控等方面,帮助开发者显著提升数据库性能,解决慢查询问题,适用于高并发与大数据场景。
|
16天前
|
SQL 关系型数据库 MySQL
(SQL)SQL语言中的查询语句整理
查询语句在sql中占了挺大一部分篇幅,因为在数据库中使用查询语句的次数远多于更新与删除命令。而查询语句比起其他语句要更加的复杂,可因为sql是数据库不可或缺的一部分,所以即使不懂,也必须得弄懂,以上。
103 0
|
2月前
|
SQL XML Java
通过MyBatis的XML配置实现灵活的动态SQL查询
总结而言,通过MyBatis的XML配置实现灵活的动态SQL查询,可以让开发者以声明式的方式构建SQL语句,既保证了SQL操作的灵活性,又简化了代码的复杂度。这种方式可以显著提高数据库操作的效率和代码的可维护性。
210 18
|
2月前
|
SQL 人工智能 数据库
【三桥君】如何正确使用SQL查询语句:避免常见错误?
三桥君解析了SQL查询中的常见错误和正确用法。AI产品专家三桥君通过三个典型案例:1)属性重复比较错误,应使用IN而非AND;2)WHERE子句中非法使用聚合函数的错误,应改用HAVING;3)正确的分组查询示例。三桥君还介绍了学生、课程和选课三个关系模式,并分析了SQL查询中的属性比较、聚合函数使用和分组查询等关键概念。最后通过实战练习帮助读者巩固知识,强调掌握这些技巧对提升数据库查询效率的重要性。
108 0
|
2月前
|
存储 分布式计算 数据处理
「48小时极速反馈」阿里云实时计算Flink广招天下英雄
阿里云实时计算Flink团队,全球领先的流计算引擎缔造者,支撑双11万亿级数据处理,推动Apache Flink技术发展。现招募Flink执行引擎、存储引擎、数据通道、平台管控及产品经理人才,地点覆盖北京、杭州、上海。技术深度参与开源核心,打造企业级实时计算解决方案,助力全球企业实现毫秒洞察。
402 0
「48小时极速反馈」阿里云实时计算Flink广招天下英雄

相关产品

  • 实时计算 Flink版