flink sql 校验常见错误及解决办法

这篇具有很好参考价值的文章主要介绍了flink sql 校验常见错误及解决办法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.报错

Caused by: org.apache.calcite.runtime.CalciteContextException: From line 0, column 0 to line 80, column 25: Illegal mixing of types in CASE or COALESCE statement
原因:CASE WHEN 语句中存在类型不匹配的问题。比如说

case 
when reg_fee like '%美元' then 11.0
else 10
end  as "费用"

解决:这个就要把else 后面的10改为10.0,修改后代码

case 
when reg_fee like '%美元' then 11.0
else 10.0
end  as "费用"

简单讲,就是then 后面的值 要跟else后面的值类型相同,要么都是整形要么都是字符型,不一样就自己cast。

2.报错

org.apache.flink.table.api.ValidationException: SQL validation failed. From line 0, column 0 to line 74, column 58: Cannot apply '*' to arguments of type '<VARCHAR(2147483647)> * <DECIMAL(6, 1)>'. Supported form(s): '<NUMERIC> * <NUMERIC>' '<DATETIME_INTERVAL> * <NUMERIC>' '<NUMERIC> * <DATETIME_INTERVAL>'
原因:这里的’*'符号是相乘的意思,相乘两边的值类型不匹配,一个varchar 一个是decimal
解决:两边类型转成一样的。

3.报错

Caused by: java.lang.IllegalArgumentException: Either all or none of the following options should be provided: lookup.cache.max-rows lookup.cache.ttl
原因:这两个参数要么同时存在,要么同时不存在
解决:看自己需要,如果跑批任务的话,加不加都行,反正跑完内存就释放了。

4.报错

Caused by: java.lang.ClassCastException: class java.lang.Boolean cannot be cast to class java.lang.Integer (java.lang.Boolean and java.lang.Integer are in module java.base of loader 'bootstrap')
原因:这个报错是在任务提交运行时报错,flink会把tinyint 自动转成boolean类型,假设sql里面有

where deleted = 0

这种条件,而deleted的定义恰好是tinyint,可能会报这个错误。
解决:在jdbc链接后面拼上参数

&tinyInt1isBit=false&transformedBitIsBoolean=false

5.其他常见坑

5.1as后面的别名不能有单引号,如果跟关键词冲突可以加``。
5.2 flink sql都是单引号,没有双引号,双引号语法校验不通过。
5.3date为关键字,必须加``。
5.4null作为单个字段使用时需要加单引号’',比如case when else 'null'
case when name is not null,这种就不需要加单引号。
5.5 CURRENT_TIMESTAMP() 需要去掉括号。
5.6不能用order by排序。文章来源地址https://www.toymoban.com/news/detail-505601.html

到了这里,关于flink sql 校验常见错误及解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SSL证书常见错误及解决办法

    SSL错误是一种常见的网络通信问题,可能会对用户的网络使用造成一定的影响。解决SSL错误的方法相对比较简单,但用户需要保持高度警惕,远离那些不安全的网站,以保护自己的网络安全和隐私。同时,网站也需要严格遵守网络安全标准,加强自身的安全保障,以更好地保

    2024年02月09日
    浏览(53)
  • 常见的 ChatGPT 相关错误提示及解决办法

    我汇总了一些大家在使用 ChatGPT 过程中,可能会遇到的一些问题以及相关错误提示,大家可以根据遇到的情况查看解决办法。 注册登陆问题: 错误提示:Too many signups from the same IP 中文意思:来自同一 IP 的注册过多 错误提示:we have detected suspicious login behavior and further attemp

    2024年02月04日
    浏览(46)
  • vue3.0 + ts 引入详细步骤及语法校验报错解决办法

    前段时间学习了ts,于是用脚手架搭了个vue3.0+ts的项目,引入详细步骤及语法校验报错解决办法,整理下遇到的问题以及解决办法,分享给大家。 Q: 在vue项目中编写tsx函数式组件提示报错。在没有引入ts的项目中,写tsx语法提示报错。 无法使用 JSX,除非提供了 “–jsx” 标志

    2024年02月11日
    浏览(46)
  • 【常见错误】Xilinx Vivado自带编辑器文字部分出现乱码解决办法

    在进行FPGA开发时,常用的代码编辑器比如Sublime,但是最近发现再Sublime中编辑的代码文字部分,在用Vivado自带的编辑器打开时,会出现文字错乱的情况,如下图: 而在Sublime中实际的情况却是下图这样,这样就会导致代码的易读性降低。 这是由于Sublime端编码方式导致的,将

    2024年02月09日
    浏览(54)
  • macOS在VMware虚拟机中常见的错误与解决办法(一)

    我在使用VMware虚拟机软件安装苹果macOS系统时,由于每个物理机硬件的不同,会遇到各种各样的安装问题,今天总结了一下最常遇到的安装问题与相关问题的解决办法,此文纯纯的干货,切记收藏好,备用,只要你有安装macOS的想法,此文对你绝对会有帮助。 好了,干货开始

    2024年04月12日
    浏览(53)
  • 数据库 SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确 解决方法

    目录 一、错误提示信息:  二、原因分析: 三、解决方法: 四、执行完成结果: 五、重要说明 本文验证是数据库中的baiduAi_0258表无法通过select语句ID条件查询, 如执行 select * from baiduAi_0258 where ID =\\\'0000403e-7903-413b-87ab-3c14d0295482\\\'  提示以下错误信息。 消息 824,级别 24,状态

    2024年02月16日
    浏览(54)
  • vivado报错:USF-XSim-62的常见解决办法

    我们在使用vivado的时候,做完了一些模块以后,进行仿真的时候会出现以下错误: [USF-XSim-62] \\\'compile\\\' step failed with error(s). Please check the Tcl console output or \\\'C:/Users/gongdell/ddc/ddc.sim/sim_1/behav/xsim/xvlog.log\\\' file for more information. 在正常情况下,vivado会指出你的代码错误的那一行,你可以

    2024年02月11日
    浏览(76)
  • kettle连接MySql启动报错常见错误解决

    连接MySql数据库 报错一 报错原因:这个报错的原因是因为当前的kettle目录下没有需要连接的数据库驱动,所以我们需要下载一个驱动放到他的lib包里重新启动即可,我创建的是mysql连接所以需要mysql连接驱动 解决方法: maven仓库下载合适的启动jar包,我选择的是下载人数最多

    2024年02月08日
    浏览(53)
  • Ftp无法连接到服务器怎么办?常见的ftp错误问题及解决办法分享

    1、无法上传网页,提示“无法连接服务器”错误; 原因: FTP客户端程序设置问题,客户上网线路问题,ftp服务器端问题。 解决方法: 使用CUTPFTP软件来上传客户的网页,在“FTP主机地址处”最好填写IP地址。 2、FTP时已经通过身份验证,但总列不出目录; 原因: 上传软件的

    2024年02月17日
    浏览(61)
  • Unknown column ‘字段名‘ in ‘field list‘ 错误解决办法——mybatis常见问题汇总

    使用mybatis时我们经常会碰到如下错误 出现这种情况可能是 1、sql中的字段和数据库的字段对不上,或者是sql中的字段和实体类的字段对不上,需要检查数据库字段和实体类字段 2、可能是#{isDel} 中的 #{} 忘了写了。 总之,多检查几遍

    2024年02月10日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包