Flink报错问题之Flink报错:Table sink 'a' doesn't support consuming update and delete changes which is produced by node如何解决

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: Flink报错通常是指在使用Apache Flink进行实时数据处理时遇到的错误和异常情况;本合集致力于收集Flink运行中的报错信息和解决策略,以便开发者及时排查和修复问题,优化Flink作业的稳定性。

问题一:实时计算Flink报错org.codehaus.janino.CompilerFactory cannot be cast to org.codehaus.commons.compiler.ICompilerFactory

实时计算Flink报错org.codehaus.janino.CompilerFactory cannot be cast to org.codehaus.commons.compiler.ICompilerFactory



参考答案:

可参考QA:报错:java.lang.ClassCastException: org.codehaus.janino.CompilerFactory cannot be cast to org.codehaus.commons.compiler.ICompilerFactory



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/475322?spm=a2c6h.13066369.question.28.6f064d5cIWWXoh



问题二:Flink报错doesn't support consuming update and delete changes which is produced by node TableSourceScandoesn't support consuming update and delete changes which is produced by node TableSourceScan

Flink报错doesn't support consuming update and delete changes which is produced by node TableSourceScandoesn't support consuming update and delete changes which is produced by node TableSourceScan



参考答案:

语法校验报错,append类型sink无法接收上游update记录。

使用支持写入update记录的sink,如upsert-kafka等。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/476340?spm=a2c6h.13066369.question.29.6f064d5cyfSb2X



问题三:Flink报错:org.apache.flink.table.api.ValidationException: SQL validation failed. Unable to create a sink for writing table 'xxx'. The cause is following: Unsupported options found for 'sls'.

Flink报错:org.apache.flink.table.api.ValidationException: SQL validation failed. Unable to create a sink for writing table 'xxx'. The cause is following: Unsupported options found for 'sls'.




参考答案:

【报错详情】

Caused by: org.apache.flink.table.api.ValidationException: Unsupported options found for 'sls'.

Unsupported options: xxx Supported options: accessid accesskey baseretrybackofftimems batchgetsize connector consumergroup directmode disabledirectmode endpoint endtime exitafterfinish failonerror fallback_to_old flushintervalms iothreadnum logstore maxblocktimems maxretries

maxretrybackofftimems maxretrytimes nullreplacestr partitionfield project property-version sourcefield starttime starttimems stoptime timefield timezone topicfield

【报错原因】

SLS对应的with参数出现不支持的with参数xxx,或可能写错参数名称导致该异常出现。

【解决方案】

根据官网文档DDL数据定义语句文档进行检查,是否支持对应的参数,或参数名称写的有误。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/476359?spm=a2c6h.13066369.question.28.6f064d5cl84DEt



问题四:Flink报错java.lang.ClassCastException: org.codehaus.janino.CompilerFactory cannot be cast to org.codehaus.commons.compiler.ICompilerFactory

Flink报错java.lang.ClassCastException: org.codehaus.janino.CompilerFactory cannot be cast to org.codehaus.commons.compiler.ICompilerFactory



参考答案:

本质原因是用户的jar包中,也引入了跟我们冲突的janino依赖。分析下用户jar里面是否有org.codehaus.janino.CompilerFactory。由于在不同机器上的class加载顺序不一样,因此有时候可以运行,有时候出现类冲突。

【解决方案】

在目标作业详情页面右上角,单击编辑后,在页面右侧高级配置面板的更多Flink配置中classloader.parent-first-patterns.additional: org.codehaus.janino



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/476351?spm=a2c6h.13066369.question.31.6f064d5c1wYwEp



问题五:Flink报错:Table sink 'a' doesn't support consuming update and delete changes which is produced by node

Flink报错:Table sink 'a' doesn't support consuming update and delete changes which is produced by node



参考答案:

Flink语法检查报错详情:org.apache.flink.table.api.TableException: Table sink 'xxx' doesn't support consuming update and delete changes which is produced by node xxx(xxx) at

org.apache.flink.table.planner.plan.optimize.traitinference.SatisfyModifyKindSetTraitVisitor.applyTraitToWrapper(SatisfyModifyKindSetTraitVisitor.java:493) at

org.apache.flink.table.planner.plan.optimize.traitinference.SatisfyModifyKindSetTraitVisitor.visit(SatisfyModifyKindSetTraitVisitor.java:345)。

报错原因:append only类型结果表存储(kafka、sls、datahub 等)无法接收上游 update(retract/撤回)记录。

解决方案:上游涉及retract,如:双流 left join、last value、last row、双层 groupAGG等,请使用支持写入update记录的 sink,如upsert kafka、rds、Hologres、hbase等支持主键更新的存储做结果表。



关于本问题的更多回答可点击进行查看:

https://developer.aliyun.com/ask/476358?spm=a2c6h.13066369.question.30.6f064d5cjrFQFQ

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
6天前
|
消息中间件 关系型数据库 MySQL
[flink 实时流基础] 输出算子(Sink)
[flink 实时流基础] 输出算子(Sink)
|
3月前
|
Oracle 关系型数据库 数据库
Flink Sink to Oracle 存在字段CLOB类型,如何处理错误”ORA-01461: 仅能绑定要插入LONG的LONG值“
做Flink CDC同步数据过程中,目标是Oracle数据库,其中某个字段较大被设置为CLOB类型,其中会遇到异常,”ORA-01461: 仅能绑定要插入LONG的LONG值“
|
3月前
|
消息中间件 SQL canal
Flink转换问题之DataStream转成table失败如何解决
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。本合集提供有关Apache Flink相关技术、使用技巧和最佳实践的资源。
|
3月前
|
Oracle 关系型数据库 MySQL
Flink CDC数据同步问题之丢失update操作如何解决
Flink CDC数据同步是指利用Flink CDC实现不同数据源之间的实时数据同步任务;本合集旨在提供Flink CDC数据同步的操作指南、性能优化建议和常见问题处理,助力用户高效实施数据同步。
|
4月前
|
缓存 NoSQL 数据库
Flink cdc到doris,starrocks,table store
Flink cdc到doris,starrocks,table store
|
4月前
|
流计算
Flink CDC 中,Sink: clean_commits 步骤的并行度
【1月更文挑战第24天】【1月更文挑战第118篇】Flink CDC 中,Sink: clean_commits 步骤的并行度
33 1
|
4月前
|
JSON 关系型数据库 MySQL
这个问题是由于Flink的Table API在处理MySQL数据时,将MULTISET类型的字段转换为了JSON格式
【1月更文挑战第17天】【1月更文挑战第84篇】这个问题是由于Flink的Table API在处理MySQL数据时,将MULTISET类型的字段转换为了JSON格式
34 1
|
4月前
|
消息中间件 SQL Java
阿里云Flink-自定义kafka sink partitioner实践及相关踩坑记录
阿里云Flink-自定义kafka sink partitioner实践及相关踩坑记录
|
3月前
|
Web App开发 缓存 JavaScript
【安装指南】nodejs下载、安装与配置详细教程
这篇博文详细介绍了 Node.js 的下载、安装与配置过程,为初学者提供了清晰的指南。读者通过该教程可以轻松完成 Node.js 的安装,了解相关配置和基本操作。文章首先介绍了 Node.js 的背景和应用场景,随后详细说明了下载安装包、安装步骤以及配置环境变量的方法。作者用简洁明了的语言,配以步骤图示,使得读者能够轻松跟随教程完成操作。总的来说,这篇文章为初学者提供了一个友好的入门指南,使他们能够顺利开始使用 Node.js 进行开发。
213 1
【安装指南】nodejs下载、安装与配置详细教程
|
3月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
77 0

相关产品

  • 实时计算 Flink版